Swift:声明一个空字典

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (42)

我开始学到swift通过跟踪ibook-The Swift Programming Language苹果公司提供的SWIFT。这本书说要创建一本空字典,就得用它。[:]与声明数组时相同[]:

我声明了一个空数组如下:

let emptyArr = [] // or String[]()

但是,在声明空字典时,我得到了语法错误:

let emptyDict = [:]

我如何申报一本空字典?

提问于
用户回答回答于
var emptyDictionary = [String: String]()
var populatedDictionary = ["key1": "value1", "key2": "value2"]

::如果要随着时间的推移更改字典的内容,那么将其声明为var(变量)。你将空字典声明为let(常量)但是如果你打算随着时间的推移改变它的内容,它是没有意义的,因为常数在初始化之后是不能改变的。

旧答案:

创建类型为空的字典<String, String>如下所示:

var emptyDictionary = Dictionary<String, String>()
用户回答回答于

你不能用[:]除非类型信息可用。

在这种情况下,您需要显式地提供它:

var dict = Dictionary<String, String>()

var意味着它是可变的,所以您可以向它添加条目。相反,如果你把它变成let那么您就不能进一步修改它(let意思是常数)。

可以使用[:]例如,如果可以推断类型信息的话,请用速记法表示。

var dict = ["key": "value"]

// stuff

dict = [:] // ok, I'm done with it

在最后一个例子中,已知字典有一个类型Dictionary<String, String>第一行。注意,不必显式地指定它,但是它已经被推断出来了。

扫码关注云+社区