gpt4 book ai didi

带有参数标签的 Swift 下标

转载 作者:行者123 更新时间:2023-12-04 12:39:16 26 4
gpt4 key购买 nike

是否可以创建一个可以使用显式参数标签调用的下标?

struct MyType {
subscript (label: Bool) -> String? {
return nil
}
}

let test = MyType()
let value1 = test[true] // ok
let value2 = test[label: true] // Extraneous argument label 'label:' in subscript
尝试使用标签会导致错误:

Extraneous argument label 'label:' in subscript


新的关键路径功能看起来像是使用带有参数标签的下标,但这可能是公众无法使用的编译器魔法:
let value = someThing[keyPath: \.property]

最佳答案

subscript 中的外部参数标签默认情况下不使用,因此与普通函数不同,如果您想拥有外部参数标签,则需要明确指定。

struct MyType {
subscript(label label: Bool) -> String? {
return nil
}
}

let test = MyType()
let value = test[label: true]

关于带有参数标签的 Swift 下标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57992996/

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