บางทีการที่ต้องทำงานกับ Option
/Result
ก็แอบน่าเบื่ออยู่บ้าง เวลาที่เราเร่งเขียนโค้ดอยู่ ทีนี้เจ้า Option
และ Result
คู่นี้มันมีฟังก์ชันที่ชื่อว่า unwrap
อยู่ด้วย เพื่อดึงค่าออกมาแบบเร็วๆ ซึ่งไม่ควรทำ โดย unwrap
จะทำดังนี้:
panic!
มาดูสองคำสั่งที่ทำงานเหมือนกันแต่เขียนคนละแบบ:
my_option.unwrap()
match my_option {
Some(v) => v,
None => panic!("some error message generated by Rust!"),
}
ในทำนองเดียวกัน:
my_result.unwrap()
match my_result {
Ok(v) => v,
Err(e) => panic!("some error message generated by Rust!"),
}
จงเป็น rustacean ที่ดี และใช้ match
เถอะ