使用 guard with double 可选

Use guard with double-optional

当我想使用守卫来确保双重可选值不为零时,我有哪些选择?

let something: Bool?? = true

guard let anything: Bool = something else {
  return
}

您可以使用 Guard 以及 if let

if let getValue = something, let value = getValue {
    print(value) 
}

guard let getValue = something , let value = getValue else {
  return
}

你也可以使用FlatMap

if let value = something.flatMap({ [=11=] }) {
    print(value)  
}

如果您有任何级别的可选值,例如 3、4、5、7,您将通过 有条件地转换

获得值
  let something: Bool????? = true
    if let value = something as? Bool {
        print(value) // prints true
    }