我很快乐.我偶然遇到了这个问题. 这是Swift编程语言(Swift 2.1)中的一个例子. let individualScores = [75, 43, 103, 87, 12]var teamScore = 0for score in individualScores { if score 50 { teamScore += 3 } else { teamScore
这是Swift编程语言(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类似),如果未声明变量,则应该“无法识别”.
提前致谢.
分数由for循环分配.它的类型推断为individualScores的任何元素.由于individualScores是Int或[Int]的数组,因此得分必须是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)