本地和全域性變數
區域性變數在函式,方法或閉包中定義:
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!
}
}
全域性變數是懶惰定義的(請參閱惰性屬性示例)。