メモ置き場

&strとStringの変換

fn main() {
    let s = "hoge"; // 文字列リテラルは &'static str

    let string1: String = s.to_string(); // ToStringトレイトのto_stringメソッド
    let string2: String = String::from(s); // Fromトレイトのfromメソッド
    let string3: String = s.into(); // Intoトレイトのintoメソッド。戻り値の型指定が必要

    let string_ref1: &String = &string1; // 参照の取得

    let str_ref1: &str = &string1; // Deref<Target=str>トレイトによる変換
    let str_ref2: &str = string1.as_str(); // as_strメソッド
}

参考