var arr:[String] = []和var arr = [String]()之间的快速差异

时间:2015-03-22 20:08:39

标签: ios arrays swift

我想创建一个包含字符串的空数组。

以下两种方法之间有什么区别?哪种方法更好用?

var arr:[String] = []

// versus

var arr = [String]()

2 个答案:

答案 0 :(得分:4)

AFAIU,第一种方法基本上等同于Array<String>(arrayLiteral: ...)空文字集。第二个只是Array<String>()。尽管有相同的最终结果,后者应该更优选,因为它执行起来需要更少。您可以通过调试两个选项并单步执行说明来自行探索。

答案 1 :(得分:2)

第一个var arr:[String] = []通常用于在初始化时添加值。你可以像这样创建一个空数组,但通常你会做第二个来创建空数组:var are = [String]()

任何一个都是可以接受的,但通常你会使用第一个在初始化时添加值,就像你使用普通变量一样:你通常会写这样的东西:

var exampleVariable:String = "Example String" 

并比较第二个,就像写作:

var exampleVariable = String()

简单地说,您要添加方括号以显示您正在制作数组。