go有許多預定義型別,這裡簡單把它們分為基本型別和高階型別。下面是基本型別列表:
go的基本型別共有18個,其中int和uint的實際寬度會根據計算架構的不同而不同。
在386計算架構下,它的寬度為32位元,即4個位元組。
在amd64計算架構下,它們的寬度為64位元,即8個位元組。
byte型別可以看作unit8的別名型別,而rune可以看作int32的別名型別。
rune型別專用於儲存unicode編碼的單個字元。我們可以用5種方式來表示乙個rune字面量。
(1)該rune字面量所對應的字元,比如"a"或"-",這個字元必須是unicode編碼規範所支援的。
(2)使用"\x"為前導並後跟兩位十六進製制數,這種方式可以表示寬度為1位元組的值,即乙個ascii編碼值。
(3)使用"\"為前導並後跟3位八進位制數,這種方式也只能表示有限寬度的值,
即它只能用於表示在0和255之間的值,它與上乙個表示法的表示範圍是一致的。
(4)使用"\u"為前導並後跟4位十六進製制數,它只能用於表示2位元組寬度的值。
(5)使用"\u"為前導並後跟8位十六進製制數,它只能用於表示4位元組寬度的值,這種方式即為unicode編碼規範中的ucs-4表示法。
此外,rune字面量還支援一類特殊的字串行——轉義符。轉義符的表示方法是在"\"後面追加乙個特定的單字元。
除了上述轉義符外,rune自變數中以」\「為前導的字串行都是不和法的。
在go中,字串值表示了乙個字元值的集合。
在底層,乙個字串值即乙個包含了若干位元組的序列。
長度為0的序列與乙個空字串相對應。字串的長度即底層位元組序列中位元組的個數。
乙個字串字面量的長度在編譯期間就能夠確定。
字串字面量有兩種表示形式:原生字串字面量(由反引號」、「包裹)和解釋型字串字面量(由雙引號」"「包裹)。
前者所見即所得,而後者可以解析轉義字元。
注意,字串是不可變的,對字串的操作只能返回乙個新字串,而不會改變原字串並返回。
只有基於型別及其別名型別來可以作為常量的型別。常量的宣告會用到關鍵字const。
單一常量宣告一般由關鍵字const、常量名、常量型別、等號=和常量值組成。
下面是兩個常量的說明:
const default_ip string = 「192.168.0.1」像這樣多個常量同時申明還可以簡寫成:const default_port int = 9001
const (default_ip string = 「192.168.0.1」
default_port int = 9001
)
Go 基本型別
標準整形是按長度進行分類的,其中uint8為byte型,int16為c語言中的short型,int64為c語言中的long型別。型別描述 uint8 無符號 8位整型 0 到 255 uint16 無符號 16位整型 0 到 65535 uint32 無符號 32位整型 0 到 4294967295...
Go語言 基本型別
int int8 int16 int32 int64 表示不同長度的整數 uint uint8 uint16 uint32 uint64 表示不同長度的無符號整數 uintptr 表示乙個用來儲存指標位址的整數 uintptr只是儲存位址的值,不能直接進行指標操作 float32 float64 浮...
Go 基本型別彙總
go支援一下幾種資料型別 型別稱呼 型別 type 字面量 literal 布林值bool true,false 整數int,int8,uint8,int16,uint16,int32,uint32,int64,uint64 1,0,1 浮點數float64,float32 23.5,2e 12 位...