本地和全局变量
局部变量在函数,方法或闭包中定义:
func printSomething() {
let localString = "I'm local!"
print(localString)
}
func printSomethingAgain() {
print(localString) // error
}
全局变量在函数,方法或闭包之外定义,并且不在类型中定义(在所有括号之外思考)。它们可以在任何地方使用:
let globalString = "I'm global!"
print(globalString)
func useGlobalString() {
print(globalString) // works!
}
for i in 0..<2 {
print(globalString) // works!
}
class GlobalStringUser {
var computeGlobalString {
return globalString // works!
}
}
全局变量是懒惰定义的(请参阅惰性属性示例)。