本文系第三篇Golang語言學習教程
var聲明語句可以建立一個特定類型的變數,然後給變數附加一個名字,並且設定變數的初始值。
變數聲明文法如下:
var 變數名 類型 = 運算式
例:
var age int = 19
其中“類型”或“=運算式”兩個不分可以省略其中一個。
如果省略類型,那麼將根據初始運算式來確定類型資訊。
如果省略=運算式,那麼將用零值初始化該變數。
例1:
package mainimport "fmt"func main() { var age = 19 //省略類型,根據自動運算式確定age類型 fmt.Println("Hello World,my age is",age)}
上面的程式將會列印:
Hello World,my age is 19
例2:
package mainimport "fmt"func main(){ var age int //省略運算式,預設用0初始化該變數 fmt.Println("Hello World,my age is",age)}
上面的程式將會列印:
Hello World,my age is 0
聲明多個變數
Go能夠通過一條語句聲明多個變數。
聲明多個變數文法如下:
var name1, name2 type = initialvalue1, initialvalue2
例:
package mainimport "fmt"func main(){ var height,weight = 178,57 //聲明兩個變數身高,體重 fmt.Println("my height is",height,"and my weight is",weight)}
上面的程式將會列印:
my height is 178 and my weight is 57
在某些情況下我們可能需要在一個語句中聲明不同類型的變數。
一個語句聲明不同類型的變數文法如下:
var ( name1 = initialvalue1 name2 = initialvalue2)例:```gopackage mainimport "fmt"func main(){ var ( name = "xunk" age = 19 height = 178 ) fmt.Println("my name is",name,",my age is",age,"and my heiget is",height)}
上面的程式將會列印:
my name is xunk ,my age is 19 and my heiget is 178
簡短聲明
Go支援一種聲明變數的簡潔方式,使用了:=操作符,稱為簡短聲明。
簡短聲明文法如下:
name := initialvalue
例:
package mainimport "fmt"func main(){ name,age := "xunk",19 //簡短聲明name,age fmt.Println("my name is",name,"my age is",age)}
上面的程式將會列印:
my name is xunk my age is 19
:=簡短聲明左邊所有變數都要有初始值,並且操作符左邊必須要有一個變數是尚未聲明的。
變數也可以在運行時進行賦值。
例:
package mainimport ( "fmt" "math")func main(){ a,b := 25.3,73.1 //聲明a,b變數 c := math.Min(a,b) //比較a,b最小值,賦值給c fmt.Println("The minimum values is",c)}
上面的程式將會列印:
The minimum values is 25.3
由於 Go 是強型別(Strongly Typed)語言,因此不允許某一類型的變數賦值為其他類型的值。
package mainfunc main() { age := 29 // age是int類型 age = "naveen" // 錯誤,嘗試賦值一個字串給int類型變數}
以上程式會報錯:
(type string) as type int in assignment
不可以將賦值一個字串給int類型變數