1. 程式人生 > >go學習筆記-變數作用域

go學習筆記-變數作用域

變數作用域

作用域為已宣告識別符號所表示的常量、型別、變數、函式或包在原始碼中的作用範圍。
變數可以在三個地方宣告:

  • 函式內定義的變數稱為區域性變數
  • 函式外定義的變數稱為全域性變數
  • 函式定義中的變數稱為形式引數

全域性變數

在函式體外宣告的變數稱之為全域性變數,全域性變數可以在整個包甚至外部包(被匯出後)使用,全域性變數可以在任何函式中使用。

var g = 1

func testGlobal() {
    a := 2
    b := 3
    g := a + b
    fmt.Println(g)
}

區域性變數

在函式體內宣告的變數稱之為區域性變數,它們的作用域只在函式體內,引數和返回值變數也是區域性變數。

func testLocal() {
    a := 2
    b := 3
    g := a + b
    fmt.Println(g)
}

形式引數

形式引數會作為函式的區域性變數來使用

func testParams(g int) {
    g = g + 1
    fmt.Println(g)
}