如何在swift中设置数组起始和结束索引?

时间:2016-08-24 13:51:44

标签: arrays swift swift-playground

我尝试在操场上创建一个1-100个元素的数组,但是当我试图打印时,它不打印数组中的值。

代码:

var ab:Array = [1...100]

for i in ab {
    print(i)
}

输出: enter image description here

但在操场上它并没有显示任何错误。 我做错了什么吗? 感谢

2 个答案:

答案 0 :(得分:7)

您创建了一个Range<Int>元素数组(单个元素,1..<101

var ab: Array = [1...100] // element TYPE inferred from 1...100
                          // to be Range<Int>
print(ab.dynamicType)
   // Array<Range<Int>>

但我认为您正在尝试创建一个包含100个Int元素的数组。

var ab = Array(1...100) // Array with elements intialized to Int,
                        // using Range<Int> to intialize

for i in ab {
    print(i)
} // 1 2 3 ... 100

如果您只想打印1...100范围内的数字,则无需创建数组(如果要执行此操作(或根本不是数组))。相反,您可以使用单个Range<Int>变量并循环遍历此范围中包含的元素。 E.g。

let myRange = 1...5 // inferred as type Range<Int>

for i in myRange {
    print(i) // the type of 'i' is Int, the same as in
             // the array case above.
} // 1 2 3 4 5

答案 1 :(得分:0)

使用Paintclear;

effective

var ab = Array(1...100) for i in ab { print(i) }

  

1 2 3 .... 100