我想创建一个包含字符串的空数组。
以下两种方法之间有什么区别?哪种方法更好用?
var arr:[String] = []
// versus
var arr = [String]()
答案 0 :(得分:4)
AFAIU,第一种方法基本上等同于Array<String>(arrayLiteral: ...)
空文字集。第二个只是Array<String>()
。尽管有相同的最终结果,后者应该更优选,因为它执行起来需要更少。您可以通过调试两个选项并单步执行说明来自行探索。
答案 1 :(得分:2)
第一个var arr:[String] = []
通常用于在初始化时添加值。你可以像这样创建一个空数组,但通常你会做第二个来创建空数组:var are = [String]()
。
任何一个都是可以接受的,但通常你会使用第一个在初始化时添加值,就像你使用普通变量一样:你通常会写这样的东西:
var exampleVariable:String = "Example String"
并比较第二个,就像写作:
var exampleVariable = String()
简单地说,您要添加方括号以显示您正在制作数组。