我是 swift 的新手。我很偶然地遇到了这个问题。
这是The Swift Programming Language(Swift 2.1)中的一个例子。
let individualScores = [75, 43, 103, 87, 12]
var teamScore = 0
for score in individualScores {
if score > 50 {
teamScore += 3
} else {
teamScore += 1
}
}
print(teamScore)
可以看出,score
是上面代码段中的一个变量。但是在使用它之前显然没有声明。我的意思是,没有这样的语法:
var score: Int
或
var score = 0
我只想知道为什么或如何使用变量而不用 var
语法声明其类型。
作为C++中的语法(Swift在某种程度上类似于C++),如果变量没有被声明,它应该是“无法识别”。
提前致谢。
最佳答案
score
由 for
循环分配。它的类型被推断为 individualScores
的元素是什么。由于 individualScores
是 Int
或 [Int]
的 Array
,score
必须是一个 Int
。因此,在这种情况下您不需要正式声明它的类型。
闭包有类似的行为,您可以在其中命名变量而无需使用 let
或 var
正式声明它们。例如:
let individualScores = [75, 43, 103, 87, 12]
var teamScore = 0
individualScores.forEach {
score in
if score > 50 {
teamScore += 3
} else {
teamScore += 1
}
}
print(teamScore)
关于Swift:我们需要在使用变量之前声明它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34734442/