一尘不染

对Swift数组声明感到困惑

swift

以下内容之间有什么区别吗?

  1. var array1_OfStrings = [String]()

  2. var array2_OfStrings: [String] = []

  3. var array3_OfStrings: [String]

在Playground中进行的测试表明1和2相同,但3的行为有所不同。有人可以解释一下我的区别吗?而且,声明空数组的首选方式是String什么?


阅读 275

收藏
2020-07-07

共1个答案

一尘不染

前两个具有相同的效果。

  1. 声明一个变量array1_OfStrings,让它选择类型本身。看到时[String](),它聪明地知道那是字符串的类型数组。

  2. 您将变量设置array2_OfStrings为字符串类型数组,然后说它为空[]

  3. 这是 不同的, 因为您只是告诉您要array3_OfStrings成为字符串的类型数组,而没有给它指定初始值。

我认为推荐第一个,因为Swift编程语言会更频繁地使用它。

2020-07-07