文字列関連の型の使い分け
以下の3つの型の使い分けに慣れておらず、コンパイラに怒られるまま修正していき、気づいたらぐちゃぐちゃになっている。
&str
String
&String
今の理解で使い分け方針をまとめておく。
&str
基本これで行く。リテラルもこれ。
String
構造体のフィールドはこれ。
あとはAPIがString
を要求する場合。
例えば std::env::args()
は String
を返す。
取得した String
を処理する関数とかは、&str
に変換して受け取る。
&String
これを使うことはほぼないはず。