`format! による文字列の連結
説明
String
の push
メソッドや push_str
メソッドを使用したり、 +
演算子を使用したりすることで、文字列を構築することは可能です。 しかしformat!
を使用した方がより便利なことがあります。特にリテラル文字列と非リテラル文字列が混在している場合がそうです。
例
#![allow(unused)] fn main() { fn say_hello(name: &str) -> String { // 以下のように result 文字列を構築することができます。 // let mut result = "Hello ".to_owned(); // result.push_str(name); // result.push('!'); // result // しかし format! を使うほうがよいでしょう。 format!("Hello {name}!") } }
長所
format!
を使う方法が、通常、文字列を組み合わせる最も簡潔で読みやすい方法です。
短所
通常、文字列を結合する最も効率的な方法とは言えません。通常、ミュータブルな文字列への push
の繰り返しが最も効率的です(特に、その文字列があらかじめ期待されるサイズに割り当てられている場合)。