1. 程式人生 > >Go語言學習(一)變數

Go語言學習(一)變數

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" }

執行結果:

這裡寫圖片描述