Golang-全局变量与局部变量
介绍Go的全局变量与局部变量
Let‘s Go!
package main
import (
"fmt"
)
var a="a"
func main() {
fmt.Println("func main",a)
j()
g()
k()
}
func g(){
fmt.Println("func g",a)
}
func j(){
//局部作用域
//a:="j"
//全部作用域
a="j"
fmt.Println("func j",a)
}
func k(){
fmt.Println("func k",a)
}
以上程序有个注意的地方 当func j()中的局部变量的注释打开,a:=”j”(红色部分)时 打印
func main a func j j func g a func k a
当func j()中的全部变量的注释打开,a=”j”(蓝色部分)时
func main a func j j func g j func k j
就是a=”j”和a:=”j”的区别,差了一个分号,就差别那么大?看下下面的解释大家就懂了..
其实 a=”j”的意思就是把全局变量a重新赋值成”j”
a:=”j”的意思就是重新定义一个新的局部变量a并赋值成”j”
Written on June 24, 2013