mut
2022/2/16 14:49:00
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をつけておく必要がある。変更されるので。
新しい空のStringを生成する
let mut s = String::new();
https://doc.rust-jp.rs/book-ja/ch08-02-strings.html#新規文字列を生成する
空のまま使うことはあまりないので、変数にmutをつけて可変変数にする
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
}