Rustの学習を行っていて、まだまだ参考になる資料が見つからない場合が多くあります。
もし、どなたかの参考になればと思い、メモをしておこうと思います。
※まだ、他にもたくさん方法はあると思いますので、随時追加していきたいと思います。
※記述時rustバージョン=1.56.1
match
を利用する方法①
以下のようにすると、Someの中身5
を使用することができ、a = 5
と表示される。
fn main() {
let a = Some(5);
match a {
Some(i) => message(i), // このようにしてSomeの中身iを使うことができる。iはなんと命名してもいい
None => println!("None"),
}
fn message(number_in_some: u32) {
println!("a = {}", number_in_some);
}
}
match
を利用する方法②(条件分岐)
以下のようにすると、matchの条件にSomeの中身を使用することができ、larger or equal to 10
と表示される。
fn main() {
let a = Some(10);
match a {
Some(i) if i >= 10 => println!("larger or equal to 10"), // このように左辺の条件としてiを使用できる。
Some(i) => println!("smaller than 10"),
None => println!("None"),
}
}
if let Some(i) = variable
と書く方法
以下のようにすると、c = 10
と表示される。
Rust公式ドキュメントのChapter17で使われている方法
fn main() {
let c = Some(10);
if let Some(i) = c {
println!("c = {}", i);
}
}
unwrap()
を使う方法
以下のようにすると、d = 10
と表示される。
Rust公式ドキュメントのChapter17で使われている方法
fn main() {
let d = Some(10);
println!("d = {}", d.unwrap());
}