Go语言中基本算术运算直接使用+、-、*、/、%五种内置运算符,整数除法向零取整,%仅支持整数且符号同被除数;浮点数不支持%,需用math.Mod;类型必须一致或显式转换。

在 Go 语言中,基本算术运算(加、减、乘、除、取余)直接使用内置运算符即可,无需额外导入包。只要操作数类型兼容(如 int、float64 等),Go 就能自动计算并返回对应类型的结果。
支持的算术运算符及用法
Go 提供以下五种基础算术运算符:
- +:加法(支持整数、浮点数、字符串拼接)
- -:减法(仅支持数值类型)
- *:乘法(仅支持数值类型)
- /:除法(整数相除结果向零取整;浮点数相除得浮点结果)
- %:取余(仅支持整数类型,符号与被除数一致)
整数运算示例(int 类型)
整数运算最常用,注意除法和取余对类型有严格要求:
package main import "fmt"func main() { a, b := 17, 5 fmt.Println("a + b =", a + b) // 22 fmt.Println("a - b =", a - b) // 12 fmt.Println("a b =", a b) // 85 fmt.Println("a / b =", a / b) // 3(整数除法,截断小数) fmt.Println("a % b =", a % b) // 2(17 ÷ 5 = 3 余 2)
// 负数取余:结果符号与被除数(a)相同 fmt.Println("-17 % 5 =", -17 % 5) // -2 fmt.Println("17 % -5 =", 17 % -5) // 2(Go 中模运算基于被除数符号)}
立即学习“go语言免费学习笔记(深入)”;
浮点数运算注意事项
使用
float32或float64时,除法返回浮点结果,但不支持取余(%)。需用math.Mod替代:package main import ( "fmt" "math" )func main() { x, y := 17.5, 3.2 fmt.Println("x + y =", x + y) // 20.7 fmt.Println("x / y =", x / y) // 约 5.46875 fmt.Println("math.Mod(x, y) =", math.Mod(x, y)) // 约 1.5(等价于浮点取余) }
⚠️ 注意:
%运算符不能用于浮点数,否则编译报错:invalid operation: % (mismatched types float64 and float64)。类型一致性与显式转换
Go 不允许隐式类型混合运算。例如
int和int64不能直接计算:var i int = 10 var j int64 = 3 // fmt.Println(i + j) // ❌ 编译错误 fmt.Println(i + int(j)) // ✅ 显式转为 int fmt.Println(int64(i) + j) // ✅ 显式转为 int64常见做法是统一使用
int(平台相关,通常 64 位系统为int64),或根据需求明确指定如int32、uint等,并在跨类型运算时手动转换。










