Rustにおける文字列とstr型の相互変換方法


型の相互変換が頻繁に必要になることがあります。以下に、Stringstr型の相互変換方法をいくつか紹介します。

  1. Stringからstrへの変換:

    • &str型のスライスを取得することで、Stringstrに変換できます。例えば、&my_stringのように&を付けることで、my_string&str型のスライスに変換できます。
  2. strからStringへの変換:

    • to_stringメソッドを使用することで、strStringに変換できます。例えば、my_str.to_string()のように使います。
  3. Stringから&strへの変換:

    • &演算子を使用することで、String&strに変換できます。例えば、&my_stringのように使います。
  4. strから&strへの変換:

    • &演算子を使用することで、str&strに変換できます。例えば、&my_strのように使います。

以下に、具体的なコード例を示します。

fn main() {
    // Stringから&strへの変換
    let my_string = String::from("Hello, World!");
    let my_str: &str = &my_string;
    // strからStringへの変換
    let my_str = "Hello, World!";
    let my_string: String = my_str.to_string();
    // Stringから&strへの変換
    let my_string = String::from("Hello, World!");
    let my_str: &str = &my_string;
    // strから&strへの変換
    let my_str = "Hello, World!";
    let my_str_ref: &str = &my_str;
    println!("my_string: {}", my_string);
    println!("my_str: {}", my_str);
}

このように、RustではStringstr型を相互変換する方法がいくつかあります。必要に応じて、適切な変換方法を選択してください。