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)。