類型 | 描述
---|---
布爾型 | 布爾型的值只可以是 true 或者 false,示例 var b bool = true
字符串類型 | 默認值為空字符串,使用雙引號或反引號定義。字符串是一種值類型,且值不可變,即創建某個文本后將無法再次修改這個文本的內容
數字類型 | 整型 int 和浮點型 float32、float64,Go 語言支持整型和浮點型數字,并且支持復數,其中位的運算采用補碼。
**整型**
類型 | 描述
---|---
uint8 | 無符號8位整型(0 - 255)
uint16 | 無符號16位整型(0 - 65535)
uint32 | 無符號32位整型(0 - 4294967295)
uint64 | 無符號64位整型(0 - 18446744073709551615)
int8 | 有符號8位整型(-128 ~ 127)
int16 | 有符號16位整型(-32768 ~ 32767)
int32 | 有符號32位整型(-2147483648 ~ 2147483647)
int64 | 有符號64位整型(-9223372036854775808 ~ 9223372036854775807)
uintptr | 無符號整型,用于存放一個指針
int | 有符號32位或64位
uint | 無符號32位或64位
byte | 類似 uint8
rune | 類似 int32
大多數情況下,我們只需要 int 一種整型即可,它可以用于循環計數器(for 循環中控制循環次數的變量)、數組和切片的索引,以及任何通用目的的整型運算符,通常 int 類型的處理速度也是最快的。
byte 和 rune 可以表示字符類型
```
var b byte = 'a'
fmt.Println(b) // 97
```
Go語言中不允許將布爾型強制轉換為整型,編譯會報錯
```
var n bool
fmt.Println(int(n))
// cannot convert n (type bool) to type int
```
**浮點型**
默認為0,聲明一個沒有指定數據類型的浮點數時,默認為float64類型
類型 | 描述
---|---
float32 | 32位浮點數
float64 | 64位浮點數
complex64 | 32位實數和虛數
complex128 | 64位實數和虛數