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