我很快乐.我偶然遇到了这个问题.
这是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++类似),如果尚未声明变量,则应该"无法识别".
提前致谢.
score
由for
循环分配.它的类型被推断为无论是什么元素individualScores
.由于individualScores
是Array
的Int
,或者[Int]
,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)