golang 學習筆記 型別

2022-04-11 09:20:14 字數 1196 閱讀 1140

intuint的實際寬度會根據計算架構不同而不同,386下4個位元組, amd64下8個位元組

byte可看做uint8的別名型別

rune可看做int32的別名型別,專用於儲存unicode編碼的單個字元。

5種方式來表示乙個rune字面量:

rune字面量表示轉義符:

原生字串字面量(由反引號包裹):所見即所得

解釋型字串字面量(由雙引號包裹):可以解析轉義字元。

字串值是不可變的,對其操作只會返回乙個新字串,而不會改變原字串並返回。

陣列:陣列的長度是陣列型別的一部分,只要型別宣告中的陣列長度不同,即使兩個陣列型別的元素型別相同,他們也是不同的型別,一旦宣告中確定了長度,就無法改變它了。陣列零值是乙個不包含任何元素的空陣列。eg: 

[4]uint32{}

var ipv4 [4]uint8 = [4]uint8
或者

var ipv4 [4]uint32 = [...]uint32
標記...表示需由go編譯器計算該值的元素數量並以此獲得其長度

切片 slice 零值是nil(cap 與len都是0)

var ips = string
切片的字面變數不攜帶長度資訊,切片長度可變,且不是型別的一部分;只要元素型別相同,兩個切片的型別是可以相同的,此外,切片型別的零值總是nil

切片值相當於對某個底層陣列的引用。

ips = make(string, 10)
字典: map  零值是nil

var ipswitchs = map[string]bool{}

ipswitchs["192.168.6.1"]=true

delete (ipswitchs,"192.168.6.1")

golang學習筆記 型別

布林型別的關鍵字為bool,值為true或false,不可寫為0或1 var v1 bool v1 true 接受表示式判斷賦值,不支援自動或強制型別轉換 1 型別表示 int和int32為不同型別,不會自動型別轉換需要強制型別轉換 強制型別轉換需注意精度損失 浮點數 整數 值溢位 大範圍 小範圍 ...

Golang學習筆記 高階型別

高階型別 陣列 切片map 函式 介面 inte ce 結構體參考文件 長度不可變。int不用指定長度,為3。內部結構三個元素 指向底層陣列某個元素的指標 切片的長度 切片的容量。容量cap 從指標指向的元素到底層最後乙個元素的元素個數。雜湊表,關聯陣列。零值為nil,長度為0,不可以進行取值等操作...

Golang學習筆記 四 資料型別

go語言內建了豐富的資料型別,主要分為四類,基礎資料型別 復合資料型別,引用資料型別及介面資料型別,另外,在這些型別的基礎,也支援我們根據自己的資料型別,這就為我們編寫 提供很大的便利性。這一節,我們先學一下基礎資料型別中的整數型別。整數型別分兩種,有符號 int8,int16,int32,int6...