字典的 Nil 合并运算符

Mik*_*aus 1 swift swift-dictionary

尝试访问/检查字典中的键并添加值。

myDict["Algebra"]最初返回nil. 为什么“零合并”在这里不起作用?

var myDict = [String : [Int]]()
myDict["Algebra"]?.append(contentsOf: [98,78,83,92]) ?? myDict["Algebra"] = [98,78,83,92]
Run Code Online (Sandbox Code Playgroud)

Rob*_*ier 5

虽然这适用于括号,但您要解决的问题正是default下标的作用,而不会将??运算符滥用为具有if副作用的隐式语句:

myDict["Algebra", default: []].append(contentsOf: [98,78,83,92])
Run Code Online (Sandbox Code Playgroud)

您可能还会发现此语法更清晰一些:

myDict["Algebra", default: []] += [98,78,83,92]
Run Code Online (Sandbox Code Playgroud)