类型 | 描述
---|---
布尔型 | 布尔型的值只可以是 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位实数和虚数