這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
1、變數聲明
Go語言的變數聲明方式與C和C++語言有明顯的不同。Go語言引入了關鍵字var,並且Go語言把變數類型放在變數名之後;執行個體如下:
1)、聲明一個變數
//定義一個類型為"int"的變數 var vName int //定義一個類型為"string"的變數 var vName2 string //定義一個類型為"int",且大小為10的陣列變數 var vName3 [10]int //定義一個類型為"int"的數組切片 var vName4 []int //定義一個結構體變數 var vName5 struct{ vn int } //定義一個類型為"int"的指標變數 var vName6 *int //定義一個資料字典,key類型為"string",value類型為"int" var vName7 map[string]int
通過上面的例子我們可以看看出,變數聲明語句不需要使用分號作為結束符,並通過var關鍵字進行聲明;同時Go語言為了避免程式員需要重複寫關鍵字var,用關鍵字var可將若干個需要聲明的變數放置在一起,如下所示:
var ( vName1 int vName2 string)
2)、聲明多個相同類型的變數
//定義類型都是"int"的三個變數var vName1,vName2,vName3 int
2、變數初始化
var關鍵字可以保留,但不再是必要的元素,執行個體如下:
//定義一個類型為"int"的變數,並對其初始化值var vName1 int=1//定義一個變數,但未指定資料類型,並對其初始化值var vName2 = 1//定義一個變數,且對其直接初始化值vName :=1
通過上面三種執行個體,可以看出第三種用法是最簡潔的;這裡Go語言引入的另外一個字元(冒號和等號的組合:=),表示聲明和初始化。
同時指定類型已不再是必需的,Go語言編譯器可以從初始設定式的值(右側)推到出該變數應該聲明為哪種類型。
對於:=左側的變數不能同時聲明多次,Go語言是不允許的,如下:
i :=1//這個是不允許的i :=2
或
var i int//這個是不允許的i :=1
因為符號:=表示聲明和初始化,所以是不允許的,運行系統後會提示:no new variables no left side of:=