Go语言基本数据类型包括int、float64、string和bool,需注意类型显式转换、浮点精度比较及布尔值严格类型检查。
Go语言的基本数据类型是编程的起点,掌握 int、float64(常用浮点类型)、string 和 bool 能帮你写出清晰、安全、

Go 中没有隐式类型提升,int 是平台相关类型(32 位或 64 位),推荐显式使用 int32 或 int64 以增强可移植性。小范围计数可用 int8、int16,但要注意溢出风险。
var age int = 25 或更简洁地 age := 25(编译器自动推导为 int)var x int32 = 10; var y int64 = 20; sum := x + int32(y) ❌ 错误;应写成 sum := int64(x) + y
const timeout = 30 可赋给 int、int64 等变量Go 默认浮点类型是 float64,精度高、性能好;float32 节省内存但精度有限,适合图形或大量数组场景。
price := 19.99 推导为 float64;rate := float32(0.05) 显式指定== 比较浮点数:0.1+0.2 == 0.3 返回 false;改用误差范围判断:math.Abs(a-b)
fmt.Printf("%.2f", 3.14159) 输出 3.14
string 在 Go 中是只读的字节切片(底层是 struct{ ptr *byte, len int }),天然支持 UTF-8,中文、emoji 都能直接处理。
"Hello\nWorld";反引号包裹原始字符串:`C:\Users\name` 不解析转义for _, r := range "你好" { fmt.Printf("%c ", r) } → 输出“你 好”;直接索引 s[0] 拿到的是 UTF-8 第一个字节,不是第一个字符strings.Builder(高效)或 +(简单短串);避免循环中反复 += 创建大量临时字符串bool 是独立类型,不能和整数混用(如 C 中的 0/1),强制类型安全。
done := false 或 var active bool = true
&&(短路与)、||(短路或)、!(非);& 和 | 是位运算,不用于布尔判断if x > 0 { ... } ✅;if x { ... } ❌ 编译失败(x 是 int)不复杂但容易忽略。写代码时多看一眼类型,少些运行时 panic,也少些调试时间。