Go 数据类型
分类总览
Go 数据类型分四大类:布尔型 bool、数字类型(int/float/uint 等)、字符串 string、派生类型(数组、切片、结构体、指针、接口、Map、Channel 等)。
1. 布尔型
只可能是 true 或 false:
package main
import "fmt"
func main() {
var ok bool = true
no := false
fmt.Println(ok, no) // 输出: true false
}
2. 数字类型表格
| 类型 | 说明 |
|---|---|
| int | 有符号整型,64 位系统占 64 位 |
| int8 | 有符号 8 位,范围 -128 ~ 127 |
| int16 / int32 / int64 | 有符号 16 / 32 / 64 位 |
| uint / uint8 | 无符号整型;uint8 范围 0 ~ 255 |
| float32 / float64 | 单 / 双精度浮点,约 7 / 15 位小数 |
| complex64 | 复数,实部虚部各 float32 |
日常开发整数用 int、浮点数用 float64 即可。
3. 整型与浮点示例
package main
import "fmt"
func main() {
var age int = 25
var pi float64 = 3.14159
price := 9.9 // 推断为 float64
fmt.Println(age, pi, price) // 输出: 25 3.14159 9.9
}
4. 字符串
用双引号包裹;len 返回字节数,中文一个字占 3 字节:
package main
import "fmt"
func main() {
city := "上海"
fmt.Println(city, len(city)) // 输出: 上海 6
}
5. 派生类型示例
切片与 map 最常用:
package main
import "fmt"
func main() {
nums := []int{1, 2, 3} // 切片
ages := map[string]int{"张三": 20} // map 字典
fmt.Println(nums) // 输出: [1 2 3]
fmt.Println(ages["张三"]) // 输出: 20
}
小结
Go 是强类型语言,但类型推断让代码简洁。数字选 int/float64、文本用 string,再会切片与 map,即可应对多数场景。