Go語言裡面定義變數有多種方式。
使用var
關鍵字是Go最基本的定義變數方式,有時也會使用到:=
來定義變數。
定義變數
// 定义一个名称为“variableName”,类型为"type"的变量 // var variableName type var number int
定義變數並初始化值
// 初始化“variableName”的变量为“value”值,类型是“type” // var variableName type = value var number int = 10
同時初始化多個變量,又叫平行賦值
/* 定义三个类型都是"type"的变量,并且分别初始化为相应的值 vname1为v1,vname2为v2,vname3为v3 */ // var vname1, vname2, vname3 type = v1, v2, v3 var number1, number2, number3 int = 1, 2, 3
你是不是覺得上面這樣的定義有點繁瑣?沒關係,因為Go語言的設計者也發現了,有一種寫法可以讓它變得簡單一點。我們可以直接忽略型別聲明,那麼上面的程式碼變成這樣了:
/* 定义三个变量,它们分别初始化为相应的值 vname1为v1,vname2为v2,vname3为v3 然后Go会根据其相应值的类型来帮你初始化它们 */ // var vname1, vname2, vname3 = v1, v2, v3 var number1, number2, number3 = 1, 2, 3
你覺得上面的還是有點繁瑣?好吧,我也覺得。讓我們繼續簡化:
/* 定义三个变量,它们分别初始化为相应的值 vname1为v1,vname2为v2,vname3为v3 编译器会根据初始化的值自动推导出相应的类型*/ // vname1, vname2, vname3 := v1, v2, v3 number1, number2, number3 := 1, 2, 3
現在是不是看起來非常簡潔了? :=
這個符號直接取代了var
和type
,這種形式叫做簡短宣告。不過它有一個限制,就是它只能用在函數內部;在函數外部使用則會無法編譯通過,所以一般用var方式來定義全域變數。
換句話說,「:=
」只能在宣告「局部變數」的時候使用,而「var」則沒有這個限制。
相關文章教學推薦:golang教學
以上是golang中「var」與「:=」的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!