()
2022/2/18 1:53:00
let key = String::from("Blue");
let value = hashmap.get(&key); //Option<&V>を返してくる
match value { //直接printlnできないのでmatchを使う
Some(v) => println!("{}", v),
None => (), //Noneが返ってくる場合も記述する必要がある(ないとコンパイルエラーが発生する)
}
if let Some(v) = value { //matchの代わりにif letを使うこともできる
println!("{}", v);
}
matchを使う際、enum
に列挙子が残っていても、_
を使うと残りの処理を担わせることができる。_ => ()
と書けば、何もしないをできる。
enum Message {
Quit,
Move { x: i32, y: i32 },
Write(String),
ChangeColor(i32, i32, i32),
}
fn main() {
let message = Message::Move{x:0, y:10};
match message {
Message::Move {x,y} => println!("Move(x:{},y:{})", x, y),
_ => (),
}
}