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

How to set array starting and end indices in swift?

我试图用在 playground 中创建的 1-100 个元素创建一个数组,但是当我尝试打印时它没有打印数组中的值。

代码:

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

for i in ab {
    print(i)
}

输出:

但在 playground 中没有显示任何错误。 我做错了什么吗? 谢谢

您创建了一个包含 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> 变量并遍历该范围内包含的元素。例如

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

使用cleareffective;

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

Output

1 2 3.... 100