t_wの輪郭

Rust文字列リテラル
&'static strRustの文字列リテラルをbyteとして走査Rustの文字列リテラルを文字として走査+演算子による文字列の結合formatpush_str&strString::from文字列リテラルは&str「文字列リテラルは、高速で効率的」文字列リテラルからString型を生成Rustの文字列リテラルは不変
fn main() {
    for b in "こんにちは".bytes() {
        println!("{}", b);
    }

    println!("");

    let s:&str = "世界";
    for b in s.bytes() {
        println!("{}", b);
    }
}
227
129
147
227
130
147
227
129
171
227
129
161
227
129
175

228
184
150
231
149
140

String&strの結合

fn main() {
    let s1 = String::from("Hello, ");
    let s2:&str = "world!";
    let s3 = s1 + &s2;      // s1はs3へ所有権が移動し、使用できなくなる
    println!("{}", s3);     // Hello, world!
}

push_str

2022/2/19 5:54:00

String文字列リテラル(&str)を追加する関数

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は追加できない。エラーになる。StringStringを追加(というか結合)したいときはformatを使おう。

追加元の変数にはmutをつけておく必要がある。変更されるので。