go 变量作用域

  • 说明
    1、函数内部声明/定义的变量叫局部变量,作用域仅限于函数内部
func test() {
    age := 30
    name := "tom~~"
}
func main() {
    //name和age是test函数的局部变量,在main函数中无效
    fmt.Println("name=", name)
}

2、函数外部声明/定义的变量叫全局变量,作用域在整个包都有效,如果其首字母为大写,则作用域在整个程序有效。

3、如果变量是在一个代码块,比如for/if中,那么这个变量的作用域就在这个代码块内。

示例:

var Age int = 20 //ok

//这句话会报错,因为在函数外不能有赋值语句
Name := "tom" // var Name string Name="tom"

func main() {
    //name和age是test函数的局部变量,在main函数中无效
    fmt.Println("name=", Name)
}

你可能感兴趣的:(go 变量作用域)