Fork me on GitHub

Swift中的问号三种用法

  1. 三目运算符(Ternary Conditional Operator)
    这在大部分语言中都比较常见
    布尔值 ? "true" : "false"

  2. 可选值
    可选值?!是一对。?用在某个类型后面,可以通俗的理解为,这个值不太确实是否是这个类型,如果不是就给个nil吧;!可以理解为,一定要给个类型我,要不老子分分钟挂给你看了。😎

  3. 空合运算符(Nil Coalescing Operator) ??
    这个我在其他语言没见过。e ?? f 相当于 e != nil ? e! : f, 可选类型e不是nil时,就e!,否则为f
1
2
3
var e: String?
var f = "我是fuck"
e ?? f // `e != nil ? e! : f` , 可选类型`e`不是`nil`时,就`e!`,否则为`f`。(注意`??`前后要空格)
坚持原创技术分享,您的支持将鼓励我继续创作!
  • 本文标题: Swift中的问号三种用法
  • 本文作者: AndyRon
  • 发布时间: 2017年08月14日 - 13:45
  • 最后更新: 2018年10月10日 - 18:26
  • 本文链接: http://andyron.com/2017/swift-question.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!