我目前很难理解哪些变量被认为是本地变量,哪些变量是全局变量。
在docs我们可以读到:
Global variables are variables that are defined outside of any function, method, closure, or type context.
我猜测:在类/ context中定义的类型context ==
类型/实例变量中定义的变量?
例如:
var foo = "foo" // global variable
class Foobar {
static var foo = "foo" // local variable -> declared inside Foobar type context
var bar = "bar" // local variable -> declared inside Foobar type context
func foobar() {
var foo = "" // local variable -> declared inside method
}
}
答案 0 :(得分:2)
你是绝对正确的,在类上下文中定义的变量要么变成实例变量,要么变成类型变量。在函数,方法或闭包的上下文中定义的变量成为局部变量。
全局变量的声明必须位于顶级,类,函数等之外。