go語言變量-申明和定義

      變量申明的本質就是告訴編譯器變量類型和初始化的值。編譯器得到類型,就知道如何分配內存;編譯器得到初始化值就用這個值填充內存。如果沒有,就用零值填充。

      go 語言變量聲明和定義都是一起,不分開,所以變量聲明定義,統稱爲定義。

目前有4種聲明方式。

 1.單變量定義

go 變量申明和定義一起,單個具體聲明格式如下:

var varname vartype = varvale

變量聲明是關鍵字“var” ,然後跟變量名字 ,接着是變量類型,最後是變量初始化表達式。

   2.同類型變量批量定義

go也支持多個同類型變量同時聲明。具體格式如下:

var varname,varname2,... vartype = varvale1,varvalue2,...

   3.不同類型變量批量定義

同時也支持多個不同類型的變量同時聲明

var (

varname1 type1=value1
varname2 type2=value2
varname3 type3=value3
)

   4.短變量聲明。

短變量聲明可以省去“var” ,也省了類型,直接賦值,可以聲明單個,也可以聲明多個。

vara,varb,varc:=a,b,c

短變量雖然方便使用,但是無法用於函數外面

參考樣例:

//import "fmt"
func main() {
	// 1 初始化不傳入初始化值
	var varS1 string

	// 2 多個同類型變量
	var varM1,varM2,varM3=0,1,2

	// 3 多個不同類型變量定義
	var (
		varMM1 string ="test string"
		varMM2 int =10
		varMM3  bool = false
	)
	// 4 短變量定義
	shortVar :=10
	fmt.Println(varS1,varM1,varM2,varM3,varMM1,varMM2,varMM3,shortVar)
}

特別注意:

         a.類型和初始化表達式可以省略其中一個。只要能得到變量的類型就行,可以不用重複,例如如下表達式已知字符串,可以省略sring。

 var name string = "xiaomi"

        b.變量聲明定義未初始化,默認零值。數值型0,字符串爲空,指針爲“nil”,bool 型是false。

       c.短變量最少有一個未聲明,如果已經聲明可以當賦值使用。如果全部已經聲明,可以直接使用賦值語句。

       d.匿名變量名字“_”。主要用於佔文,定義而不使用

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