Option 类型
Option[Char]是表示可能存在的字符值的枚举类型,常用于处理可能缺失值的场景。其构造器包含两种可能:
None表示值缺失Some(e)作为包装器包含实际值e
类型声明中的[Char]是类型参数,表示Option中值的类型为Char。同理可使用Option[String]、Option[Double]等类型。关于泛型的详细内容将在后续章节展开。
类型注解Option[A]可简写为A?。
您可以通过 c1 is None 检查值是否缺失,使用 c1.unwrap() 获取包装值。
fn first_char(s : String) -> Option[Char] {
if s.length() == 0 {
None
} else {
Some(s.get_char(0).unwrap())
}
}
fn main {
let c1 : Char? = first_char("hello")
let c2 : Option[Char] = first_char("")
println("\{c1 is None}, \{c1.unwrap()}")
println("\{c2 is None}, \{to_repr(c2)}")
}