Swift println字典中有;“可选”;

Swift println字典中有;“可选”;,swift,Swift,考虑一下这个片段: let interestingNumbers = [ "Prime": [2, 3, 5, 7, 11, 13], "Fibonacci": [1, 1, 2, 3, 5, 8], "Square": [1, 4, 9, 16, 25], ] println(interestingNumbers["Square"]) let individualScores = [75, 43, 103, 87, 12] println(individualScor

考虑一下这个片段:

let interestingNumbers = [
    "Prime": [2, 3, 5, 7, 11, 13],
    "Fibonacci": [1, 1, 2, 3, 5, 8],
    "Square": [1, 4, 9, 16, 25],
]
println(interestingNumbers["Square"])

let individualScores = [75, 43, 103, 87, 12]
println(individualScores)
控制台输出:

可选([1,4,9,16,25])

[75,43,103,87,12]


为什么字典案例中有一个“可选的”?

在Swift中,字典返回可选的,因为如果您试图访问一个不存在的密钥,它可能返回零。

出于安全考虑,Swift字典返回可选的。如果您试图访问一个不存在的密钥,则会得到零

还可以使用下标语法从字典中检索特定键的值。因为可以请求不存在值的键,所以字典的下标返回字典值类型的可选值。如果字典包含请求键的值,则下标返回一个可选值,该值包含该键的现有值。否则,下标返回nil

使用订阅访问任何字典中的单个元素。 从字典的下标返回的值的类型为ValueType?-具有字典的ValueType基础类型的可选


字典可能对某些键有值,也可能为空。因此,在swift中,它由可选项表示。这应该很容易,因为您知道键有值,您可以直接将其作为println(interestingNumbers[“Square”!)展开。如果您尝试
interestingNumbers[“Hello”]
,会怎么样?