Rustの文字列操作
2022/2/19 14:50:00
文字列といろんなものを結合できるすごい関数マクロ
Display
が実装されていればなんでも結合できる気がする(要検証)
String
と String
の結合let hello:String = String::from("hello");
let world:String = String::from("world");
let hello_world = format!("{} {}", hello, world);
println!("{}", hello_world); //hello world
String
と 文字列リテラル(&str
)の結合let hello:String = String::from("hello");
let world:&str = "world";
let hello_world = format!("{} {}", hello, world);
println!("{}", hello_world); //hello world
String
と整数型(u32
)の結合let hello:String = String::from("hello");
let number:u32 = 1234;
let hello_number = format!("{} {}", hello, number);
println!("{}", hello_number); //hello 1234
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
は追加できない。エラーになる。String
にString
を追加(というか結合)したいときはformat
を使おう。
追加元の変数にはmut
をつけておく必要がある。変更されるので。
https://qiita.com/aflc/items/f2be832f9612064b12c6#文字列リテラルはstr
文字列スライスの参照
str
の借用された形態
fn main() {
let s : &str = "Hello, world";
println!("{}", s); //Hello, world
}