- 整数类型:(u)int,(u)int8,(u)int16,(u)int32,(u)int64,uintptr(指针),byte,rune
- 字符(串)类型:byte,rune,string
- 浮点型:float32,float64
- 布尔型:bool
- Go语言提供有符号和无符号的整数类型,前面加 u 是无符号整数类型,不加 u 是有符号整数类型
- 有符号的整数类型范围:- 2 ^ (n - 1) ~ 2 ^ (n - 1) - 1
- 例如 int8:范围为 - 2 ^ (8 - 1) ~ 2 ^ (8 - 1) - 1,即 -128 ~ 127
- 无符号的整数类型范围:0 到 2 ^ n - 1
- 例如 uint8:范围为 0 ~ 2 ^ 8 - 1,即 0 ~ 255
- 若没有定义长度,则根据编译器和计算机操作系统来判断,例如在32位操作系统即为(u)int32,在64位操作系统即为(u)int64;uintptr表示的指针也是根据操作系统来进行定位
- byte 实质上是 uint8 类型,代表了 ASCII 码的一个字符;rune 实质上是 int32 类型,UTF-8是一种变长编码规则,从 1 到 4 个字节不等,因此选择了4个字节的 int32 来代表rune
- 因为 int 和 uint 在不同编译器平台或不同计算机的操作系统中会发生变化,所以若需保持文件的结构不会受到影响,尽量不使用 int 和 uint
- byte 类型是一种 uint8 类型,代表了 ASCII 码的一个字符;rune 类型是一种 int32 类型,代表一个 UTF-8 字符
在书写Unicode字符时,需要在 16 进制数之前加上前缀 u 或者 U。如果需要使用到 4 字节,则使用 u 前缀,如果需要使用到 8 个字节,则使用 U 前缀。
- 字符串可以包含任意的数据,通常用来包含可读文本,一个字符串是一个不可改变的字节序列
- go语言从底层就支持UTF-8编码
- 字符串中可以使用转义字符来实现换行、缩进等效果,例如:n :换行符、r :回车符等
- 如果使用反引号 ` ,会将文本内容原样输出
- 字符串是字节的定长数组,byte 和 rune 都是字符类型
- 一个字母占用 1 个字节,一个中文汉字占用 3 个字节
- float32 的范围:约1.4e-45 到 约3.4e38;float64 的范围:约4.9e-324 到约1.8e308
- 通过 fmt 格式化输出时可以控制保留小数点的位数
- 正常输出会显示小数点后6位
- 通过 % 后加 “.n” (n位需保留的位数)来控制
- 浮点数在声明的时候可以只写整数部分或者只写小数部分
- 只写小数部分,整数部分默认为0;只写整数部分,小数部分默认为0
- 在一些判断的应用中,例如 ==,>,<,<=,>=,&&,| | 等都会产生bool值,并且在go语言中,只有两个相同类型的值才可以进行比较,若其中一个值为常量,另一个值可以不是常量,但类型必须和该常量的类型相同
- 布尔型数据只有 true 和 false,且不能参与任何计算以及类型转换



