GO語言變量作用域-坑記錄

GO語言變量作用域-坑記錄

1、main包的全局變量,其他文件無法使用。

解決辦法:

  • 全局變量放置在其他包中進行引用

2. 同名變量局部變量優先於全局變量,但是在使用 := 進行類型推導時會默認創建一個局部變量,該局部變量若與全局變量同名,則不會影響全局變量值。

解決辦法:

  • 儘量避免直接使用全局變量,使用函數封裝。
  • 少用 := 類型推導式

示例代碼如下:

package main

import (
	"fmt"
)
var AERROR int = 100
//
var global = 10000
func test3()  {
	//out 4
	global := len("test")
	fmt.Println(global)
}
func main()  {
	test3()
	//out 10000
	fmt.Println(global)
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章