文字型・文字列型
文字型
fn main() {
// 文字型
let c1 = 'a';
let c2 = '@';
let c3 = '🍣';
println!("c1: {}, c2: {}, c3: {}", c1, c2, c3);
}
$ cargo run
c1: a, c2: @, c3: 🍣
文字列型
文字列スライスとString型が存在する。
文字列スライスは、実行時に型が決まっている必要があるもの。
fn main() {
// 文字列型
let s1 = "Hello, world!";
println!("&str: {}", s1);
}
$ cargo run
&str: Hello, world!
String型は実行時に型が決まらない場合に使用する。
String::from("")の形で指定する方法と、.to_string()を使う方法がある。
fn main() {
let s2 = String::from("Rust");
println!("String::from(\"Rust\"): {}", s2);
let s3 = "Universe".to_string();
println!("\"Universe\".to_string(): {}", s3);
}
$ cargo run
String::from("Rust"): Rust
"Universe".to_string(): Universe
String型はpush_strで文字列を追加することができる。
fn main() {
let mut s4 = String::from("Hello");
s4.push_str(", Sunshine!");
println!("push_strで追加すると {}", s4);
}
$ cargo run
push_strで追加すると Hello, Sunshine!
文字列の連結
"+"を使って文字列を連結する方法
fn main() {
// 文字列の連結
let s5 = String::from("Hello");
let s6 = String::from(", ");
let s7 = String::from("World!");
println!("文字列の連結{}", s5 + &s6 + &s7);
}
$ cargo run
Hello, World!
Format!マクロを使って文字列を連結する方法
fn main() {
// Format!マクロを使用して文字列を連結
let s8 = String::from("Hello");
let s9 = String::from(", ");
let s10 = String::from("World!");
println!("Format!マクロを使用して文字列を連結: {}", format!("{} {} {}", s8, s9, s10));
}
$ cargo run
Hello, World!
この他にも文字列の操作にはたくさんある。
文字列操作に関する公式ドキュメントを参照しよう。
この記事が気に入ったらサポートをしてみませんか?