美文网首页
Swift 4 Optionals 例子

Swift 4 Optionals 例子

作者: 艺术农 | 来源:发表于2018-06-04 16:29 被阅读36次
  • 判断对错
var name: String? = "Ray"
//var age: Int = nil // Invalid: nil can only be used with optional types
let distance: Float = 26.7
var middleName: String? = nil
  • 可选值绑定方式实现函数
func divideIfWhole(_ value: Int, by divisor: Int) -> Int? {
  if value % divisor == 0 {
    return value / divisor
  } else {
    return nil
  }
}

if let answer = divideIfWhole(10, by: 2) {
  print("Yep, it divides \(answer) times.")
} else {
  print("Not divisible :[.")
}

if let answer = divideIfWhole(10, by: 3) {
  print("Yep, it divides \(answer) times.")
} else {
  print("Not divisible :[.")
}
  • Nil coalescing方式实现上面的函数
let answer1 = divideIfWhole(10, by: 2) ?? 0
print("It divides \(answer1) times.")

let answer2 = divideIfWhole(10, by: 3) ?? 0
print("It divides \(answer2) times.")
  • 嵌套可选值
let number: Int??? = 10

// 1
print(number!!!)

// 2
if let number = number {
  if let number = number {
    if let number = number {
      print(number)
    }
  }
}

// Better way of optionally binding without all the {}
if let n1 = number,
   let n2 = n1,
   let n3 = n2 {
  print(n3)
}

// 3
func printNumber(_ number: Int???) {
  guard let n1 = number, let n2 = n1, let n3 = n2 else {
    return
  }
  print(n3)
}
printNumber(number)

客官,路过左下角小❤️❤️点下,谢谢啊:-D

相关文章

网友评论

      本文标题:Swift 4 Optionals 例子

      本文链接:https://www.haomeiwen.com/subject/yhjysftx.html