swift中“??”的含义是什么?
发布时间:2020-12-14 04:46:59 所属栏目:百科 来源:网络整理
导读:参见英文答案 ?? operator in Swift????????????????????????????????????5个 我在Swift中遇到了一个语法,其中使用了双重问号(“??”). 例如,让val =某事[“某事”]为?字串?零 这到底是什么意思?这种语法有哪些用例? 解决方法 Nil-Coalescing运算符 这是
参见英文答案 >
?? operator in Swift????????????????????????????????????5个
我在Swift中遇到了一个语法,其中使用了双重问号(“??”). 例如,让val =某事[“某事”]为?字串?零 这到底是什么意思?这种语法有哪些用例? 解决方法
Nil-Coalescing运算符
这是一种简短的形式. (表示如果[“something”]为零或可选,您可以指定默认值nil或任何其他值) let val = (something["something"] as? String) != nil ? (something["something"] as! String) : "default value" 如果a包含值,则nil-coalescing运算符(a ?? b)展开可选a;如果a为n,则返回默认值b.表达式a始终是可选类型.表达式b必须与存储在a中的类型匹配. nil-coalescing运算符是下面代码的简写: a!=零?一个! :b 如果a的值不为nil,则不评估b的值.这被称为短路评估. 下面的示例使用nil-coalescing运算符在默认颜色名称和可选的用户定义颜色名称之间进行选择: let defaultColorName = "red" var userDefinedColorName: String? // defaults to nil var colorNameToUse = userDefinedColorName ?? defaultColorName // userDefinedColorName is nil,so colorNameToUse is set to the default of "red" 见第Nil-Coalescing Operator here节 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |