golang基礎學習 Go 語言變數作用域

2021-09-01 12:30:10 字數 1713 閱讀 8825

go 語言變數作用域

作用域為已宣告識別符號所表示的常量、型別、變數、函式或包在源**中的作用範圍。

go 語言中變數可以在三個地方宣告:

函式內定義的變數稱為區域性變數

函式外定義的變數稱為全域性變數

函式定義中的變數稱為形式引數

接下來讓我們具體了解區域性變數、全域性變數和形式引數。

區域性變數

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

以下例項中 main() 函式使用了區域性變數 a, b, c:

package main

import "fmt"

func main()

以上例項執行輸出結果為:

結果: a = 10, b = 20 and c = 30
全域性變數

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

全域性變數可以在任何函式中使用,以下例項演示了如何使用全域性變數:

package main

import "fmt"

/* 宣告全域性變數 */

var g int

func main()

以上例項執行輸出結果為:

結果: a = 10, b = 20 and g = 30
go 語言程式中全域性變數與區域性變數名稱可以相同,但是函式內的區域性變數會被優先考慮。例項如下:

package main

import "fmt"

/* 宣告全域性變數 */

var g int = 20

func main()

以上例項執行輸出結果為:

結果: g = 10
形式引數

形式引數會作為函式的區域性變數來使用。例項如下:

package main

import "fmt"

/* 宣告全域性變數 */

var a int = 20;

func main()

/* 函式定義-兩數相加 */

func sum(a, b int) int

以上例項執行輸出結果為:

main()函式中 a = 10

sum() 函式中 a = 10

sum() 函式中 b = 20

main()函式中 c = 30

形參使用,比較 sum 函式中的 a 和 main 函式中的 a,sum 函式中雖然加了 1,但是 main 中還是原值 10:

package main

import "fmt"

/* 宣告全域性變數 */

var a int = 20

func main()

/* 函式定義-兩數相加 */

func sum(a, b int) int

輸出:

main()函式中 a = 10

sum() 函式中 a = 11

sum() 函式中 b = 20

main()函式中 a = 10

main()函式中 c = 31

Golang語言系列 01 Go語言簡介和變數

go 又稱golang 是google開發的一種靜態強型別 編譯型 並髮型,並具有垃圾 功能的程式語言。羅伯特 格瑞史莫 robert griesemer 羅勃 派克 rob pike 及肯 湯普遜 ken thompson 於2007年9月開始設計go,稍後ian lance taylor rus...

Golang 基礎 Go 語言的指標

變數是一種使用方便的佔位符,用於引用計算機位址,而在 go 語言中可以通過 符號獲取乙個變數在計算機中對應的記憶體位址。package basic import fmt func main 乙個指標變數指向了乙個值的記憶體位址。go 語言中的指標語法與 c 類似,都是使用 符號宣告指標變數 pack...

Golang 基礎 Go 語言的陣列

package basic import fmt func declaratarray fmt.println arr2 定義指定長度的陣列,並賦值 arr3 2 int fmt.println arr3 1 5 package basic import fmt func declaratarray...