gpt4 book ai didi

swift - 为什么像可选链这样的东西没有应用于 swift 中的所有表达式和函数调用?

转载 作者:行者123 更新时间:2023-11-30 10:07:35 25 4
gpt4 key购买 nike

如果Swift中有像a?.b这样的可选链接功能,它返回b类型的可选值,为什么没有能力像这样解开可选值:

let x: Int? = 5, y: Int? = 6
let z: Int?
z = x? + y?

我的意思是:如果所有参数都有值,则应用 + (或任何其他函数),否则返回“nil”。它看起来对我来说非常有用,所以我不确定我是否错过了一些理解这一点的东西。

最佳答案

为什么并不是真正可以回答的,它更像是基于意见的——尽管 Swift 团队有一个很好的理由不在 Swift 领域实现隐式的东西。

但是您可以轻松地为可选的 Int 定义一个新的 + 运算符:

func +(lhs: Int?, rhs: Int?) -> Int? {
if let l = lhs, r = rhs {
return l + r
}
return nil
}

let x: Int? = 5, y: Int? = 6
let z = x + y

关于swift - 为什么像可选链这样的东西没有应用于 swift 中的所有表达式和函数调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35201699/

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