let mut val = ~~~~
mut
2022/2/16 23:49:00
let v = vec![100, 32, 57];
for i in &v {
println!("{}", i);
}
/*
100
32
57
*/
let mut v = vec![100, 32, 57];
for i in &mut v {
*i += 50;
}
for i in &v {
println!("{}", i);
}
/*
150
82
107
*/
struct User {
username: String,
email: String,
sign_in_count: u64,
active: bool,
}
fn main() {
let mut user1 = User {
username: String::from("username1"),
email: String::from("[email protected]"),
active: true,
sign_in_count: 1,
};
user1.username = String::from("username2");
println!("{}", user1.username); //username2
}
新しい空のString
を生成する
let mut s = String::new();
https://doc.rust-jp.rs/book-ja/ch08-02-strings.html#新規文字列を生成する
空のまま使うことはあまりないので、変数にmut
をつけて可変変数にする
fn main() {
let mut string = String::new();
println!("{}", string); //
string.push_str("hello");
println!("{}", string); //hello
let s : &str = " world";
string.push_str(s);
println!("{}", string); //hello world
}
String
は追加できない。エラーになる。String
にString
を追加(というか結合)したいときはformat
を使おう。
追加元の変数にはmut
をつけておく必要がある。変更されるので。