gpt4 book ai didi

swift - 如果在 Swift 中为 nil,则赋值的简写?

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

if x == nil {
x = y
}

我知道上面的语句可以重写为:

x = x ?? y

但是 x ??= y 不被编译器接受。有没有不重复 x 的简写?

最佳答案

检查一下,将以下内容放入全局代码空间(可能在您的 Extensions.swift 中)。这将创建一个您可以在整个项目中使用的自定义运算符。

swift 2

infix operator ??= {}
func ??= <T>(inout left: T?, right: T) {
left = left ?? right
}

swift 3

infix operator ??=
func ??= <T>(left: inout T?, right: T) {
left = left ?? right
}

用法:

var foo: String? = nil
var bar = "Bar"
foo ??= bar
print("Foo: \(bar)")

希望这有帮助:)

关于swift - 如果在 Swift 中为 nil,则赋值的简写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34059884/

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