Swift:添加选项Ints
发布时间:2020-12-14 05:29:27 所属栏目:百科 来源:网络整理
导读:我声明如下: var x:Int?var y:Int? 我想要一个包含x和y之和的第三个变量z.据推测,正如x y是选项,z也必须是可选的: var z:Int? = x + y 但是这给出了一个编译器错误“可选类型’Int?’的值没打开;你的意思是用’
我声明如下:
var x:Int? var y:Int? 我想要一个包含x和y之和的第三个变量z.据推测,正如x& y是选项,z也必须是可选的: var z:Int? = x + y 但是这给出了一个编译器错误“可选类型’Int?’的值没打开;你的意思是用’!’要么 ‘?’” 如果我解开x& Y: var z:Int? = x! + y! 我得到一个运行时错误,因为x& y是零,所以不能打开. 我可以达到如下所需的结果: var z:Int? if let x1 = x { if let y1 = y { z = x1+y1 } } 但是将2个整数加在一起似乎有点冗长!有没有更好的方法来实现这一目标?
这是我的看法,我认为它更清洁:
let none:Int? = nil let some:Int? = 2 func + (left: Int?,right:Int?) -> Int? { return left != nil ? right != nil ? left! + right! : left : right } println(none + none) println(none + some) println(some + none) println(some + some) println(2 + 2) 结果如下: nil Optional(2) Optional(2) Optional(4) 4 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |