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

Joe*_*Joe 2 arrays swift swift-playground

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

码:

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

for i in ab {
    print(i)
}
Run Code Online (Sandbox Code Playgroud)

输出: 在此输入图像描述

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

dfr*_*fri 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>>
Run Code Online (Sandbox Code Playgroud)

但我假设您正在尝试创建一个包含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
Run Code Online (Sandbox Code Playgroud)

如果您只想打印范围内的数字,则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
Run Code Online (Sandbox Code Playgroud)