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.get_char(0).unwrap())
  }
}
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}")
}