使用關鍵字var
var v1 int //整型
var v2 string //字串
var v3 [10]int //陣列
var v4 int //陣列切片
var v5 struct
var v6 *int //指標
var v7 map[string] //map,key為string型別,value為int型別
還有一種用法就是將若干個需要宣告的變數放置在一起
var (
v1 int
v2 string
)
變數初始化有三種方式:
var v1 int = 10 //方式1
var v2 = 10 //方式2,編譯器可以自動推導出v2的型別
v3 := 10 //方式3,可以省略關鍵字var和型別,編譯器可以自動推導出v3的型別
注意:出現在:=左側的變數不能是已經被宣告過的,否則會導致編譯錯誤
在go語言中,變數初始化和變數賦值是兩個不同的概念
var v10 int
v10 = 123
注意:go語言裡面支援多重賦值功能,這個在python裡面也是支援的。
i, j = j, i //交換i和j變數
_(下劃線)是個特殊的變數名,任何賦予它的值都會被丟棄:
_, i, _, j := 1, 2, 3, 4
func test() (int, string)
_, str := test()
Go語言從入門到精通 匿名變數
在使用多重賦值時,如果不需要在左值中接收變數,可以使用匿名變數 anonymous variable 匿名變數的表現是乙個下畫線 使用匿名變數時,只需要在變數宣告的地方使用下畫線替換即可。例如 func getdata int,int a,getdata b getdata fmt.println ...
lua從入門到放棄 四 變數
變數在使用前,必須顯式地宣告變數,即建立該變數.編譯程式在執行 之前編譯器需要知道如何給語句變數開闢儲存區,用於儲存變數的值.lua變數有三種型別 全域性變數,區域性變數,表中的域.lua中的變數全是全域性變數,哪怕是語句塊和函式裡,除非顯式地用local宣告為區域性變數.區域性變數的作用域為從宣告...
Go語言從入門到放棄 結構體常見的tag
tag是結構體中某個字段別名,可以定義多個,空格分隔 type student struct 使用空格來區分多個tag,所以格式要尤為注意 tag相當於該字段的乙個屬性標籤,在go語言中,一些包通過tag來做相應的判斷 舉個例子,比如我們有乙個結構體 type student struct 然後我們...