Go基本類型
-
布爾型:bool
長(zhǎng)度:1字節(jié)
取值范圍:true false
默認(rèn)值:false -
字節(jié)型:byte(uint8)
長(zhǎng)度:1字節(jié)
取值:0~255
默認(rèn)值:0 -
整型/無符號(hào)整型:int/uint
長(zhǎng)度:根據(jù)運(yùn)行平臺(tái)而定32位系統(tǒng)長(zhǎng)度為4字節(jié)
64位系統(tǒng)長(zhǎng)度為8字節(jié)
默認(rèn)值:0 -
8位整型/8位無符號(hào)整型:int8/uint8
長(zhǎng)度:1字節(jié)
取值范圍:-128127/0255
默認(rèn)值:0 -
16位整型/16位無符號(hào)整型:int16/uint16
長(zhǎng)度:2字節(jié)
取值范圍:-3276832767/065535
默認(rèn)值:0 -
32位整型/32位無符號(hào)整型:int32(rune)/uint32
長(zhǎng)度:4字節(jié)
取值范圍:-21474836482147483647/04294967295
默認(rèn)值:0 -
64位整型/64位無符號(hào)整型:int64/uint64
長(zhǎng)度:8字節(jié)
取值范圍:-92233720368547758089223372036854775807/018446744073709551615
默認(rèn)值:0 -
浮點(diǎn)型:float32/float64
長(zhǎng)度:4字節(jié)/8字節(jié)
取值范圍:小數(shù)位精確到7/15位
默認(rèn)值:0 -
復(fù)數(shù):complex64/complex128
長(zhǎng)度:8字節(jié)/16字節(jié)
complex64表示用實(shí)部和虛由float32構(gòu)成
complex128表示用實(shí)部和虛由float64構(gòu)成
復(fù)數(shù)是一個(gè)數(shù)學(xué)概念堤尾,形如a+bi(a,b均為實(shí)數(shù))的數(shù)稱為復(fù)數(shù)芹橡,其中a稱為實(shí)部扩所,b稱為虛部县踢,i稱為虛數(shù)單位
默認(rèn)值:(0+0i) -
保存指針的32位/64位整數(shù)型:uintptr
長(zhǎng)度:根據(jù)運(yùn)行平臺(tái)而定32位系統(tǒng)長(zhǎng)度為4字節(jié)
64位系統(tǒng)長(zhǎng)度為8字節(jié) -
數(shù)組:array
值類型
默認(rèn)值:根據(jù)數(shù)組的長(zhǎng)度和基本類型而定 -
數(shù)組切片:slice
引用類型
默認(rèn)值:根據(jù)切片的長(zhǎng)度和基本類型而定 -
結(jié)構(gòu):struct
值類型 -
字符串:string
值類型
默認(rèn)值:一個(gè)空字符串"" -
字典:map
引用類型 -
通道:chan
引用類型 -
通道:interface
接口類型 -
通道:func
函數(shù)類型
Go變量聲明與賦值
- 單個(gè)變量的聲明賦值
聲明格式:var 變量名稱 變量類型
賦值格式:變量名稱=表達(dá)式
聲明時(shí)賦值:var 變量名稱 變量類型(可選)=表達(dá)式
聲明時(shí)賦值簡(jiǎn)寫格式:變量名稱:=表達(dá)式
func init() {
var a int
a = 1
var b int = 2
c := 3//必須在函數(shù)體內(nèi)台颠,全局變量不可用
}
- 多個(gè)變量的聲明賦值
全局變量的聲明可使用var()的方式簡(jiǎn)寫
全局變量的聲明不可以省略var,但可使用并行方式
所有變量都可以使用類型推斷
局部變量不可以使用var()的方式簡(jiǎn)寫九昧,只能使用并行方式
func init() {
var a, b, c int
a, b, c = 1, 2, 3
var d, e, f int = 4, 5, 6
var g, h, i = 7, 8, 9
j, k, l := 10, 11, 12
}
- 變量的類型轉(zhuǎn)換
Go沒有隱式轉(zhuǎn)換莹弊,所有類型轉(zhuǎn)換必須顯式聲明
轉(zhuǎn)換只能發(fā)生在兩種相互兼容的類型之間
類型轉(zhuǎn)換的格式:
var 變量名稱A = 類型名稱(變量名稱B)
變量名稱A := 類型名稱(變量名稱B)
func init() {
var a float32 = 1.5
b := int(a)
var c = float32(b)
}
直通車
一.Go開發(fā)工具及命令
二.Go編程基礎(chǔ)知識(shí)
三.Go的類型與變量
四.Go常量與運(yùn)算符
五.Go控制語句
六.Go數(shù)組
七.Go切片slice
八.Go哈希字典map
九.Go函數(shù)func
十.Go結(jié)構(gòu)struct