[Int]&amp;和[Int]之间的区别是什么?阵列<int>的?

时间:2015-08-11 19:14:29

标签: arrays swift types

let arr = [](1...10) // doesn't create [1,2,3,4,5,6,7,8,9,10]

上面的代码将注释类型分配给每个常量。我不记得在文档中对此进行了解释。

只是一个使用构造函数的情况,另一个使用文字符号,结果产生了不同的类型?

如果是这样,一旦他们被宣布,使用一个与另一个之间是否存在任何差异? (即使用构造函数允许你使用类初始化器等,但是在初始化之后,一个提供了什么优于另一个?)

一旦初始化,它们似乎都使用相同的Array API。所以我假设这完全是纯粹的语法?

最后,有没有办法通过文字符号来模仿构造函数的功能?例如

let numberList2 = [1...10] // == ["1..<11"]

有些不相关

任何人都可以告诉我为什么以下代码会产生结果吗?:

  Dim yaxis As String
  Dim yaxis2 As Range 
  Yaxis = ActiveCell.Value
  Yaxis2 = ActiveSheet.Cells.Find(What:=Yaxis.Value)

我认为上面是一个包含范围的数组。 Playground中显示的类型报告类型为:[Range],如预期的那样。但是,为什么这个值看似报告为一个数组,其中包含一个表示半开放范围的字符串,最多为11,而不是一个高达10的封闭范围?

为脱节职位道歉。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:6)

来自The Swift Programming Language: Collection Types

  

数组类型速记语法

     

Swift数组的类型全部写为Array<SomeType> ,其中SomeType是允许数组存储的值的类型。您还可以以[SomeType]的速记形式编写数组类型。虽然这两种形式在功能上是相同的,但在引用数组类型时,首选使用简写形式并在本指南中使用

也就是说,两条评论都是正确的 - 都代表相同的类型。