Swift 标准词典是否具有获取或设置功能?
Does the Swift standard Dictionary have a get-or-set function?
我发现自己开始想要这样的东西:
extension Dictionary {
mutating func get(_ key: Key, backup: Value) -> Value {
if let stored = self[key] {
return stored
} else {
self[key] = backup
return backup
}
}
}
但根据我的经验,Swift 省略了这样的事情,因为它有另一种(预期的)方法来做到这一点。我没有在文档中找到这样的方法。 我是错过了这个功能,还是应该创建它?此外,如果他们遗漏了它而我不应该创建它,为什么?
不,它没有这样的功能。在这种情况下创建一个扩展是可以的。
我发现自己开始想要这样的东西:
extension Dictionary {
mutating func get(_ key: Key, backup: Value) -> Value {
if let stored = self[key] {
return stored
} else {
self[key] = backup
return backup
}
}
}
但根据我的经验,Swift 省略了这样的事情,因为它有另一种(预期的)方法来做到这一点。我没有在文档中找到这样的方法。 我是错过了这个功能,还是应该创建它?此外,如果他们遗漏了它而我不应该创建它,为什么?
不,它没有这样的功能。在这种情况下创建一个扩展是可以的。