Go基本型別和字面量
阿新 • • 發佈:2021-10-08
Go基本型別
基本型別和字面量的關係
型別(type)可以看作是值(value)的模板, 值可以看作是型別的例項。
基本內建型別
Go支援如下基本型別:
- 布林型別:
bool
- 整數型別:
int8
,uint8
,int16
,uint16
,int32
,uint32
,int64
,uint64
,int
,uint
和uintptr
。 - 浮點型別:
float32
和float64
。 - 複數型別:
complex64
和complex128
。 - 字串型別:
string
。
其中Go有兩種內建類型別名(type alias): byte
是uint8
的內建別名。我們可以將byte
和uint8
看作同一個型別。rune
int32
的內建別名。我們可以將rune
和6int32
看作同一個型別。
以u
開頭的整數型別都是無符號整數型別。 無符號整數型別的值都是非負的。
一個complex64
複數值得實部和虛部都是float32
型別得值。一個complex128
複數值得實部和虛部都是float64
型別得值。
uintptr
、int
和uinit
型別得值得尺寸依賴具體編輯器實現。通常在64位架構上,int
和uint
型別得值是64位得;在32位架構上, 他們是32位得。 編輯器必須保證uintptr
型別的值能夠存下任意一個記憶體地址。
零值
每一個型別都有一個零值。一個型別的零值可看作是型別的預設值。
- 一個布林型別的零值是真假中的假。
- 數值型別的零值都是零。
- 字串型別的零值是一個空字串。
基本型別的字面表示形式
布林型別字面量形式
我們可將false
和true
這兩個預宣告常量當作布林型別的字面量形式。
整數型別值字面量形式
整數型別有四種字面量形式: 十進位制、八進位制、十六進位制和二進位制。其中十六進位制必須使用(0x或0X開頭),八進位制必須使用(0、0o或者0O開頭), 二進位制表示必須(使用0b或者0B開頭),十進位制必須不能用0開頭。
浮點數型別值字面量形式
一個浮點數字面量形式可能包括一個十進位制整數部分、小數點、一個十進位制小數部分和一個以10為底得整數指數部分。整數指數部分有字母e
或者E
帶一個十進位制整數字面量組成(xEn表示x
10^n
的意思, 而xE-n
表示x
除以10^n
的意思)。