gpt4 book ai didi

Swift:添加可选项 Ints

转载 作者:IT王子 更新时间:2023-10-29 05:50:06 26 4
gpt4 key购买 nike

本人声明如下:

var x:Int?
var y:Int?

我想要第三个变量 z,它包含 xy 的总和。据推测,由于 x & y 是可选的,z 也必须是可选的:

var z:Int? = x + y

但这会产生一个编译器错误“可选类型‘Int 的值?’未展开;您是否打算使用“!”或“?””

如果我打开 x & y:

var z:Int? = x! + y!

我收到一个运行时错误,因为 xy 为零,因此无法解包。

我可以通过如下方式实现我想要的结果:

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

关于Swift:添加可选项 Ints,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24452562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com