在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 - 無符號整數,用於存儲指針值的未解釋位 |