Skip to content
เข้าสู่ระบบ

Core Enums

Core language enums (Option, Result, etc.)

fn main() {
// Creating Option
let some_value: Option<i32> = Some(42);
let no_value: Option<i32> = None;
println!("Some: {:?}", some_value);
println!("None: {:?}", no_value);
// Checking
println!("is_some: {}", some_value.is_some());
println!("is_none: {}", no_value.is_none());
// Unwrapping
let val = some_value.unwrap();
println!("Unwrap: {}", val);
let val = no_value.unwrap_or(0);
println!("unwrap_or: {}", val);
let val = no_value.unwrap_or_else(|| compute_default());
println!("unwrap_or_else: {}", val);
// Mapping
let doubled = some_value.map(|x| x * 2);
println!("map: {:?}", doubled);
let none_doubled: Option<i32> = None;
let doubled = none_doubled.map(|x| x * 2);
println!("None.map: {:?}", doubled);
// Chaining
let result = some_value
.map(|x| x + 10)
.filter(|x| *x > 50)
.map(|x| x.to_string());
println!("Chain: {:?}", result);
}
fn compute_default() -> i32 {
println!("Computing default...");
100
}

เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม

ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด