在Go程式設計語言中,資料型別是指用於宣告不同型別的變數或函式的擴充套件系統。變數的型別確定它在儲存中佔用多少空間以及如何解釋儲存的位元型樣。
Go中的型別可以分類如下:
編號 | 型別和說明 |
---|---|
1 | 布林型別 - 它們是布林型別,由兩個預定義常數組成:(a)true (b)false |
2 | 數位型別 - 它們是算術型別,在整個程式中表示:a)整數型別或 b)浮點值。 |
3 | 字串型別 - 字串型別表示字串值的集合。它的值是一個位元組序列。 字串是不可變的型別,一旦建立後,就不可能改變字串的內容。預先宣告的字串型別是string 。 |
4 | 派生型別: - 包括(a)指標型別,(b)陣列型別,(c)結構型別,(d)聯合型別和(e)函式型別(f)切片型別(g)函式型別(h)介面型別(i) 型別 |
陣列型別和結構型別統稱為聚合型別。函式的型別指定具有相同引數和結果型別的所有函式的集合。我們將在下一節中看到基本型別,而其他型別將在後續章節中介紹。
預定義與體系結構無關的整數型別是:
編號 | 型別和說明 |
---|---|
1 | uint8 - 無符號8位元整數(0到255) |
2 | uint16 - 無符號16位元整數(0到65535) |
3 | uint32 - 無符號32位元整數(0至4294967295) |
4 | uint64 - 無符號64位元整數(0至18446744073709551615) |
5 | int8 - 帶符號的8位元整數(-128到127) |
6 | int16 - 帶符號的16位元整數(-32768到32767) |
7 | int32 - 帶符號的32位元整數(-2147483648至2147483647) |
8 | int64 - 帶符號的64位元整數(-9223372036854775808至9223372036854775807) |
預定義的與體系結構無關的浮點型別是:
編號 | 型別和說明 |
---|---|
1 | float32 - IEEE-754 32位元浮點數 |
2 | float64 - IEEE-754 64位元浮點數 |
3 | complex64 - 複數帶有float32 實部和虛部 |
4 | complex128 - 複數帶有float64實部和虛部 |
n
位整數的值是n
位,並且使用二進位制二補數算術運算來表示。
還有一組具有特定大小的數位型別:
編號 | 型別和說明 |
---|---|
1 | byte - 與uint8 相同 |
2 | rune - 與int32 相同 |
3 | uint - 32或64位元 |
4 | int - 與uint 大小相同 |
5 | uintptr - 無符號整數,用於儲存指標值的未解釋位 |