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