Go語言變數
Go 語言變數名由字母、數字、下劃線組成,其中首個字母不能為數字。
宣告變數的一般形式是使用 var 關鍵字:
var 變數名 變數型別
單個變數宣告的形式
1.指定變數型別,聲明後若不賦值,使用預設值。
var v_name v_type var a int
2.根據值自行判定變數型別。
var v_name = v_value var a = 2
3.省略var 使用 := 初始化變數(區域性變數的宣告方式,全域性變數不能省略var)
v_name := v_value a := "hello world"
多變數宣告方式
//多變數宣告 //1 var v_name1, v_name2, v_name3 v_type var aa, bb, cc bool fmt.Println(aa,bb,cc) //2 var v_name1, v_name2, v_name3 = v1, v2, v3 var a1, a2, a3 = 11,12,13 fmt.Println(a1,a2,a3) //3 v_name1, v_name2, v_name3 := v1, v2, v3 aa1, aa2, aa3 := 111,222,333 fmt.Println(aa1,aa2,aa3)
全域性變數的批量宣告
var ( v_name v_type v_name v_type )
變數定義示例
package main var x, y int var ( // 這種因式分解關鍵字的寫法一般用於宣告全域性變數 a int b bool ) var c, d int = 1, 2 var e, f = 123, "hello" //這種不帶宣告格式的只能在函式體中出現 //g, h := 123, "hello" func main(){ g, h := 123, "hello" println(x, y, a, b, c, d, e, f, g, h) } //output: 0 0 0 false 1 2 123 hello 123 hello
如果你想要交換兩個變數的值,則可以簡單地使用 a, b = b, a。
空白識別符號 _ 也被用於拋棄值,如值 5 在:_, b = 5, 7 中被拋棄
。
_ 實際上是一個只寫變數,你不能得到它的值。這樣做是因為 Go 語言中你必須使用所有被宣告的變數,但有時你並不需要使用從一個函式得到的所有返回值。
並行賦值也被用於當一個函式返回多個返回值時,比如這裡的 val 和錯誤 err 是通過呼叫 Func1 函式同時得到:val, err = Func1(var1)。