2021-10-21
Go語言時靜態(tài)類型語言,變量需要明確類型
聲明變量的一般形式使用var關(guān)鍵字
var name type
其中,var 是聲明變量的關(guān)鍵字,name 是變量名,type 是變量的類型。
需要注意的是,Go語言和許多編程語言不同,它在聲明變量時將變量的類型放在變量的名稱之后。
Go語言的基本類型有:
- bool //布爾
- string //字符串
- int、int8、int16、int32、int64 //有符號整形
- uint、uint8、uint16、uint32、uint64、uintptr //無符號整型
- byte // uint8 的別名
- rune // int32 的別名 代表一個 Unicode 碼
- float32、float64 //浮點數(shù)
- complex64、complex128
當一個變量被聲明之后,系統(tǒng)自動賦予它該類型的零值:int 為 0,float 為 0.0,bool 為 false,string 為空字符串,指針為 nil 等。所有的內(nèi)存在 Go 中都是經(jīng)過初始化的。
標準格式
Go語言的變量聲明的標準格式為:
var 變量名 變量類型
變量聲明以關(guān)鍵字 var 開頭,后置變量類型,行尾無須分號。
批量格式
覺得每行都用 var 聲明變量比較煩瑣?沒關(guān)系,還有一種為懶人提供的定義變量的方法:
var (
a int
b string
c []float32
d func() bool
e struct {
x int
}
)
使用關(guān)鍵字 var 和括號,可以將一組變量定義放在一起。
簡短格式
除 var 關(guān)鍵字外,還可使用更加簡短的變量定義和初始化語法。
名字 := 表達式
需要注意的是,簡短模式(short variable declaration)有以下限制:
- 定義變量,同時顯式初始化。
- 不能提供數(shù)據(jù)類型。
- 只能用在函數(shù)內(nèi)部。
和 var 形式聲明語句一樣,簡短變量聲明語句也可以用來聲明和初始化一組變量:
i, j := 0, 1
下面通過一段代碼來演示簡短格式變量聲明的基本樣式。
func main() { x:=100 a,s:=1, "abc"}
因為簡潔和靈活的特點,簡短變量聲明被廣泛用于大部分的局部變量的聲明和初始化。var 形式的聲明語句往往是用于需要顯式指定變量類型地方,或者因為變量稍后會被重新賦值而初始值無關(guān)緊要的地方。