Go語言學習(一)變數
阿新 • • 發佈:2019-02-18
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"
}