1. 程式人生 > 其它 >Go基本型別和字面量

Go基本型別和字面量

Go基本型別

基本型別和字面量的關係

型別(type)可以看作是值(value)的模板, 值可以看作是型別的例項。

基本內建型別

Go支援如下基本型別:

  • 布林型別: bool
  • 整數型別:int8, uint8, int16,uint16, int32, uint32,int64, uint64, int, uintuintptr
  • 浮點型別:float32float64
  • 複數型別:complex64complex128
  • 字串型別: string
    其中Go有兩種內建類型別名(type alias):
  • byteuint8的內建別名。我們可以將byteuint8看作同一個型別。
  • rune
    int32的內建別名。我們可以將rune和6int32看作同一個型別。
    u開頭的整數型別都是無符號整數型別。 無符號整數型別的值都是非負的。
    一個complex64複數值得實部和虛部都是float32型別得值。一個complex128複數值得實部和虛部都是float64型別得值。
    uintptrintuinit型別得值得尺寸依賴具體編輯器實現。通常在64位架構上, intuint型別得值是64位得;在32位架構上, 他們是32位得。 編輯器必須保證uintptr型別的值能夠存下任意一個記憶體地址。

零值

每一個型別都有一個零值。一個型別的零值可看作是型別的預設值。

  • 一個布林型別的零值是真假中的假。
  • 數值型別的零值都是零。
  • 字串型別的零值是一個空字串。

基本型別的字面表示形式

布林型別字面量形式

我們可將falsetrue這兩個預宣告常量當作布林型別的字面量形式。

整數型別值字面量形式

整數型別有四種字面量形式: 十進位制、八進位制、十六進位制和二進位制。其中十六進位制必須使用(0x或0X開頭),八進位制必須使用(0、0o或者0O開頭), 二進位制表示必須(使用0b或者0B開頭),十進位制必須不能用0開頭。

浮點數型別值字面量形式

一個浮點數字面量形式可能包括一個十進位制整數部分、小數點、一個十進位制小數部分和一個以10為底得整數指數部分。整數指數部分有字母e或者E帶一個十進位制整數字面量組成(xEn表示x

乘以10^n的意思, 而xE-n表示x除以10^n的意思)。