作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在 .playground 中,我只是在探索 Swift,我试图以一种奇怪的方式创建一个数组,嗯,只是因为。
所以这不会像我天真地希望的那样创建项目 0、1、2...50 的数组:
let numberArray = [0...50]
并尝试遍历它:
for num in numberArray {
println("The number is \(num)")
}
给出这个控制台输出:
The number is VSs5Range (has 2 children)
这是什么意思?在 .swift 文件中运行它,构建失败,因此控制台输出没有给我任何信息。
最佳答案
发生的事情是您正在用[0...50]
创建一个数组,但该数组只有一个元素:对象0.. .50
,这是 Swift 中的一个新结构,表示一个 range(显然是 VSs5Range
类型。
因此您在初始数组上的循环显示单个数组元素,它将自身写为类型名称和它具有的端点数。
范围不是数组,它介于生成器(C# 中的迭代器)和测试单元之间。您可以在 switch
语句中使用它,例如 (case 0..3:
) 以及从中生成数字 (for i in 0..3 { }
)。我个人觉得它很酷!
关于swift - 在 Swift 中遍历数组时输出 "VSs5Range"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24087112/
我是一名优秀的程序员,十分优秀!