如何在 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
使用clear
和effective
;
var ab = Array(1...100)
for i in ab {
print(i)
}
Output
1 2 3.... 100
我试图用在 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
使用clear
和effective
;
var ab = Array(1...100)
for i in ab {
print(i)
}
Output
1 2 3.... 100