這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
package main import "fmt"func main() { //程式入口 InitVariable() AssignmentVariable() AnonymousVariable()}/*變數的聲明func DeclareVariable(){ // Go語言的變數聲明方式與C和C++語言有明顯的不同。對於純粹的變數聲明,Go語言引入了 // 關鍵字 var ,而類型資訊放在變數名之後,樣本如下: var v1 int var v2 string var v3 [10]int // 數組 var v4 []int // 數組切片 var v5 struct { f int } var v6 *int // 指標 var v7 map[string]int // map,key為string類型,value為int類型 var v8 func(a int) int // 變數聲明語句不需要使用分號作為結束符。與C語言相比,Go語言摒棄了語句必須以分號作 // 為語句結束標記的習慣。 // var 關鍵字的另一種用法是可以將若干個需要聲明的變數放置在一起,免得程式員需要重複 // 寫 var 關鍵字,如下所示: var ( v11 int v22 string ) //注意:變數聲明後必須要使用,否則編譯報錯: "xx declared and not used"}*//*變數的初始化語句*/func InitVariable(){ fmt.Println("-------變數初始化--------") //方式1:聲明變數和類型,通過()可以聲明一組變數 var ( x int y int ) x = 3 y = 4 fmt.Printf("x=%v, y=%v\n", x,y) //方式2:聲明變數,變數類型,並初始化 var i int = 1 var j int = 2 fmt.Println(i+j) //方式3:聲明變數,並初始化,由編譯器自動推導變數的類型 var k = 1 var m = 2 fmt.Println("k + m = ",k+m) //方式4:聲明變數並初始化,指定類型已不再是必需的,出現在 := 左側的變數不應該是已經被聲明過的,否則會導致編譯錯誤 o := 1 p := 2 fmt.Println(o * p)}/*變數的賦值*/func AssignmentVariable(){ fmt.Println("-------變數的賦值--------") //在Go文法中,變數初始化和變數賦值是兩個不同的概念 //普通賦值 var v int v = 100 fmt.Println("v=",v) //Go語言支援多重賦值,減少了中間變數的使用 i := 1 j := 2 fmt.Printf("交換前i=%v,j=%v\n",i ,j) i, j = j, i fmt.Printf("交換後i=%v,j=%v\n",i ,j)}/*匿名變數*/func AnonymousVariable(){ fmt.Println("-------匿名變數--------") _,_, lastName := GetName() //Go語言支援函數多傳回值的使用,如果不想接收某個傳回值可以使用_來表示 fmt.Println("lastName=",lastName)}func GetName()(firstName,middleName,lastName string){ return "Chen","You","Sheng"}
運行結果: