零基础 go - 38(函数 - 变量作用域)

5 阅读1分钟

变量作用域有以下几种情况:

  • 局部变量:在函数或代码块内部声明的变量,只能在该函数或代码块内部访问。
  • 全局变量:在函数或代码块外部声明的变量,作用于整个包,如果首字母大写则,可以在包内的任何地方访问,作用域在整个程序。
  • 如果变量在一个代码块内被声明了,那么它的作用域就局限在这个代码块内,外部无法访问这个变量。

示例

package main

import "fmt"

var name = "全局变量" // 全局变量
var Name = "全局变量2" // 首字母大写的全局变量,可以被其他包访问

func main() {
    fmt.Println(name) // 可以访问全局变量
    fmt.Println(Name) // 可以访问首字母大写的全局变量

    if true {
        var localName = "局部变量" // 局部变量
        fmt.Println(localName) // 可以访问局部变量
    }


    // fmt.Println(localName) // 错误: cannot refer to localName outside of its scope
}