在Go編程語(yǔ)言中,數(shù)據(jù)類型是指用于聲明不同類型的變量或函數(shù)的擴(kuò)展系統(tǒng)。變量的類型確定它在存儲(chǔ)中占用多少空間以及如何解釋存儲(chǔ)的位模式。
Go中的類型可以分類如下:
| 編號(hào) | 類型和說(shuō)明 |
|---|---|
| 1 | 布爾類型 - 它們是布爾類型,由兩個(gè)預(yù)定義常量組成:(a)true(b)false |
| 2 | 數(shù)字類型 - 它們是算術(shù)類型,在整個(gè)程序中表示:a)整數(shù)類型或 b)浮點(diǎn)值。 |
| 3 | 字符串類型 - 字符串類型表示字符串值的集合。它的值是一個(gè)字節(jié)序列。 字符串是不可變的類型,一旦創(chuàng)建后,就不可能改變字符串的內(nèi)容。預(yù)先聲明的字符串類型是string。 |
| 4 | 派生類型: - 包括(a)指針類型,(b)數(shù)組類型,(c)結(jié)構(gòu)類型,(d)聯(lián)合類型和(e)函數(shù)類型(f)切片類型(g)函數(shù)類型(h)接口類型(i) 類型 |
數(shù)組類型和結(jié)構(gòu)類型統(tǒng)稱為聚合類型。函數(shù)的類型指定具有相同參數(shù)和結(jié)果類型的所有函數(shù)的集合。我們將在下一節(jié)中看到基本類型,而其他類型將在后續(xù)章節(jié)中介紹。
預(yù)定義與體系結(jié)構(gòu)無(wú)關(guān)的整數(shù)類型是:
| 編號(hào) | 類型和說(shuō)明 |
|---|---|
| 1 | uint8 - 無(wú)符號(hào)8位整數(shù)(0到255) |
| 2 | uint16 - 無(wú)符號(hào)16位整數(shù)(0到65535) |
| 3 | uint32 - 無(wú)符號(hào)32位整數(shù)(0至4294967295) |
| 4 | uint64 - 無(wú)符號(hào)64位整數(shù)(0至18446744073709551615) |
| 5 | int8 - 帶符號(hào)的8位整數(shù)(-128到127) |
| 6 | int16 - 帶符號(hào)的16位整數(shù)(-32768到32767) |
| 7 | int32 - 帶符號(hào)的32位整數(shù)(-2147483648至2147483647) |
| 8 | int64 - 帶符號(hào)的64位整數(shù)(-9223372036854775808至9223372036854775807) |
預(yù)定義的與體系結(jié)構(gòu)無(wú)關(guān)的浮點(diǎn)類型是:
| 編號(hào) | 類型和說(shuō)明 |
|---|---|
| 1 | float32 - IEEE-754 32位浮點(diǎn)數(shù) |
| 2 | float64 - IEEE-754 64位浮點(diǎn)數(shù) |
| 3 | complex64 - 復(fù)數(shù)帶有float32實(shí)部和虛部 |
| 4 | complex128 - 復(fù)數(shù)帶有float64實(shí)部和虛部 |
n位整數(shù)的值是n位,并且使用二進(jìn)制補(bǔ)碼算術(shù)運(yùn)算來(lái)表示。
還有一組具有特定大小的數(shù)字類型:
| 編號(hào) | 類型和說(shuō)明 |
|---|---|
| 1 | byte - 與uint8相同 |
| 2 | rune - 與int32相同 |
| 3 | uint - 32或64位 |
| 4 | int - 與uint大小相同 |
| 5 | uintptr - 無(wú)符號(hào)整數(shù),用于存儲(chǔ)指針值的未解釋位 |