📌 Go 是强类型静态语言,数据类型明确,运行前必须确定类型。
🔢 数值类型
类型 | 大小 | 示例 | 说明 |
---|---|---|---|
int | 平台相关 | int a = 1 | 通用整型,64位系统为64位 |
int8 | 8位整型 | int8 a = 127 | -128 到 127 |
uint8 | 8位无符号 | byte 的别名 | 0 到 255 |
int16 | 16位整型 | ||
uint16 | 16位无符号 | ||
int32 | 32位整型 | rune 的别名 | 用于表示字符 |
int64 | 64位整型 | 常用于时间戳等 | |
float32 | 32位浮点型 | float32 f = 1.5 | |
float64 | 64位浮点型 | 默认浮点类型 | 常用于计算 |
complex64 | 复数类型 | 实部虚部为 float32 | |
complex128 | 复数类型 | 实部虚部为 float64 |
📜 字符与字符串
类型 | 示例 | 说明 |
---|---|---|
byte | var b byte = 'a' | 实质为 uint8 |
rune | var r rune = '你' | 表示 Unicode 字符 |
string | var s string = "Go" | 字符串不可变,支持 UTF-8 编码 |
✅ 布尔类型
类型 | 示例 | 说明 |
---|---|---|
bool | var b bool = true | 只有 true 和 false 两个值 |
🧺 复合数据类型(常用于实际项目中)
类型 | 示例 | 用途 |
---|---|---|
数组(Array) | var a [3]int = [3]int{1,2,3} | 固定长度 |
切片(Slice) | s := []int{1,2,3} | 长度可变,更常用 |
映射(Map) | m := map[string]int{"a":1} | 键值对结构,常用于字典 |
结构体(Struct) | type User struct {Name string} | 自定义数据结构 |
接口(Interface) | interface{} | 任意类型(空接口) |
指针(Pointer) | var p *int | 指向变量的地址 |