數(shù)據(jù)類型:
布爾型? 布爾型的值只可以是常量 true 或者 false巷挥。
數(shù)字類型 int 和浮點(diǎn)型 float32桩卵、float64,Go 語(yǔ)言支持整型和浮點(diǎn)型數(shù)字倍宾,并且支持復(fù)數(shù)雏节,其中位的運(yùn)算采用補(bǔ)碼。
字符串類型:? 字符串就是一串固定長(zhǎng)度的字符連接起來(lái)的字符序列高职。Go 的字符串是由單個(gè)字節(jié)連接起來(lái)的矾屯。Go 語(yǔ)言的字符串的字節(jié)使用 UTF-8 編碼標(biāo)識(shí) Unicode 文本
派生類型:
? ? ? ?包括:
? ? ? ? ? ? 指針類型(Pointer)
? ? ? ? ? ? ?數(shù)組類型
? ? ? ? ? ? 結(jié)構(gòu)化類型(struct)
? ? ? ? ? ? Channel 類型
? ? ? ? ? ? 函數(shù)類型
? ? ? ? ? ? 切片類型
? ? ? ? ? ?接口類型(interface)
? ? ? ? ? ?Map 類型
變量:
? ? ?第一種定義方式:
? ? ? ? ? ?var age int = 11? ? ? ? ?age變量名, int 類型 ,11 變量的初始值
? ? ?第二種定義方式:
? ? ? ? ?? age := 11? ? ? ? ? 這種是一種簡(jiǎn)化寫(xiě)法 age變量名初厚, 11 變量的初始值,這種在沒(méi)有規(guī)定變量類型的時(shí)候 go會(huì)自動(dòng)去推導(dǎo)值的類型
? ?定義多個(gè)變量方式:
? ? ? ? ? ?m1,m2,m3 := 11,"石森章太郎",3.1415926
常量:
? ? ? const name = "宮崎駿"
? ? ? ?定義多個(gè)常量:
? ? ? ? ?const (
? ? ? ? ? ? ? n1 = 1
? ? ? ? ? ? ? n2 = 1
? ? ? ? ? ? ? n3 = 1
? ? ? ? ? ? ? ?n4 = 1
? ? ? ? ? ? ? ?)
常量中的iota:
iota是go語(yǔ)言的常量計(jì)數(shù)器,只能在常量的表達(dá)式中使用产禾。
?iota 關(guān)鍵字出現(xiàn)的時(shí)候被置為0排作,const新增一列,計(jì)數(shù)將增加一次亚情。使用iota能簡(jiǎn)化定義妄痪,在定義枚舉的時(shí)候有用。
const (
? n1 = iota //0
? n2? ? ? ? //1
? n3? ? ? ? //2
? n4? ? ? ? //3
)
注意:
1.在定義變量或者常量時(shí)候 變量或常量名不能是關(guān)鍵楞件,關(guān)鍵字如下:
break? ? ? default? ? ?func? ? ? ?interface? ?select
case? ? ? ? defer? ? ? ? go? ? ? ? ? map? ? ? ? ? struct
chan? ? ? ? else? ? ? ? goto? ? ? ? package? ? ? switch
const? ? ? ? fallthrough? if? ? ? ? ? range? ? ? ? type
continue? ? for? ? ? ? ? import? ? ? return? ? ? var
2. 常量一般定義在方法外最上面衫生,常量定義之后不可以在更改
3. 定義變量可以不用給初始值 ,Go語(yǔ)言在聲明變量的時(shí)候土浸,會(huì)自動(dòng)對(duì)變量對(duì)應(yīng)的內(nèi)存區(qū)域進(jìn)行初始化操作罪针。每個(gè)變量會(huì)被初始化成其類型的默認(rèn)值,例如: 整型和浮點(diǎn)型變量的默認(rèn)值為0黄伊。 字符串變量的默認(rèn)值為空字符串泪酱。 布爾型變量默認(rèn)為false。 切片还最、函數(shù)墓阀、指針變量的默認(rèn)為nil。