在Swift中迭代一个带有显式对象类型的数组

时间:2014-06-02 22:10:02

标签: swift

我有一个数组:

let individualScores = [75, 43, 103, 87, 12]

我这样迭代:

for score in individualScores {

}

但是,有没有办法明确声明对象类型?我认为它会在以后用自定义对象或其他原因派上用场。类似的东西:

for Integer score in individualScores {

}

4 个答案:

答案 0 :(得分:48)

键入变量时,执行以下操作:

var score: Int

你在循环中做同样的事情:

for score: Int in individualScores {

}

在这方面似乎非常一致。

答案 1 :(得分:5)

是的可能

let individualScores:Int[] = [75, 43, 103, 87, 12]

for score:Int in individualScores {

}

答案 2 :(得分:2)

是。如果愿意,您可以明确指定类型。

let individualScores = [75, 43, 103, 87, 12]

for score: Int in individualScores {
    println(score)
}

答案 3 :(得分:1)

显式类型声明遵循带冒号的标识符声明。

for score: Int in individualScores {
    // ...
}

let π: Double = 3.1415926535897932
var x: Int = 10

你可以读到它“x是一个Int”。请参阅A Swift Tour

无论是否声明类型,循环变量(score)都是显式且强类型的 - 它来自您正在迭代的数组的类型。 Swift知道individualScoresInt[],是Array<Int>的缩写,因为你用整数文字声明它。有关其工作原理的详情,请参阅Generics