在函数外部定义的变量属于全局作用域,可以在任何位置访问和修改。可以使用关键字global声明变量为全局变量。
在函数内部定义的变量属于局部作用域,只能在函数内部访问和修改。函数参数也属于局部作用域。
在Julia中,如果在局部作用域中定义了和全局作用域中同名的变量,则局部变量会遮盖全局变量。如果需要在函数内部修改全局变量,需要使用global关键字来声明。例如:
x = 10 # 全局变量
function foo()
x = 5 # 局部变量,遮盖了全局变量
println(x) # 输出 5
end
function bar()
global x = 5 # 声明 x 为全局变量,并修改其值
println(x) # 输出 5
end
foo()
println(x) # 输出 10
bar()
println(x) # 输出 5