let numberList = Array(1...10) // type == Array<Int>
let numberList2 = [1,2,3,4,5,6,7,8,9,10] // type == [Int]
上面的代码将注释类型分配给每个常量。我不记得文档中有解释这个的说明。
这是一个使用构造函数和另一个使用文字表述的例子,因此产生了不同的类型。如果是这样,一旦它们被声明,使用其中一个是否有任何区别?(即使用构造函数允许使用类初始化器等等,但在初始化后,是否有一个比另一个更好?)
它们似乎都在初始化后使用相同的Array API。所以我认为这完全是语法上的区别?
最后,是否有任何方法通过文字表述来模仿构造函数的功能?例如:
let arr = [](1...10) // doesn't create [1,2,3,4,5,6,7,8,9,10]
有点不相关
大家能告诉我为什么下面的代码会产生这样的结果吗?:
let numberList2 = [1...10] // == ["1..<11"]
我认为上面是一个包含范围的数组。Playground显示的类型是:[Range],这是预期的。但是,为什么该值似乎被报告为包含一个字符串,表示半开区间到11的数组,而不是一个封闭区间到10的数组呢?
对于这个断断续续的帖子感到抱歉。提前感谢任何帮助。