作用域為已宣告識別符號所表示的常量、型別、變數、函式或包在源**中的作用範圍。
在函式體內宣告的變數、引數和返回值變數就是區域性變數,它們的作用域只在函式體內:
func test(a, b int)
func main()
//i = 20 //err, i不屬於此作用域
if a := 3; a == 3
//a = 4 //a在能if內部使用
}在函式體外宣告的變數稱之為全域性變數,全域性變數可以在整個包甚至外部包(被匯出後)使用。
var a int //全域性變數的宣告
func test()
func main() 在不同作用域可以宣告同名的變數,其訪問原則為:在同乙個作用域內,就近原則訪問最近的變數,如果此作用域沒有此變數宣告,則訪問全域性變數,如果全域性變數也沒有,則報錯。
var a int //全域性變數的宣告
func test01(a float32)
func main()
fmt.printf("a type = %t\n", a) //a type = uint8
test01(3.14)
test02()
}func test02()
Go基礎程式設計 作用域
鏈客,有問必答!小弟初學go語言,感覺作用域的運用還是很廣泛的,所以就寫上一點,也許有的都是很常見的,不過也沒關係,方便以後查詢。作用域為已宣告識別符號所表示的常量 型別 變數 函式或包在源 中的作用範圍。全域性變數 在函式體外宣告的變數稱之為全域性變數,全域性變數可以在整個包甚至外部包 被匯出後 ...
作用域規則
每個 塊都有自己的命名規則。外層 塊的名字總是有效的,除非內層的 塊對它進行了重新定義。如果內層 塊的名字進行了重新定義,那麼在這個內層 塊中,外層 塊的名字被隱藏或遮蔽。塊可以巢狀多層,其深度取決於系統限制。include int main printf 3d 3d 5.1f n a,b,c 4 ...
Go程式語言2 7 作用域
2.7 作用域 宣告將名字和程式實體關聯起來,如乙個函式或乙個變數。宣告的作用域是指用到宣告時所宣告名字的源 段。不要將作用域和生命週期混淆。宣告的作用域是宣告在程式文字 現的區域,它是乙個編譯時屬性。變數的生命週期是變數在程式執行期間能被程式的其他部分所引用的起止時間,它是乙個執行時屬性。語法塊 ...