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

在 Go 语言中,基本算术运算(加、减、乘、除、取余)直接使用内置运算符即可,无需额外导入包。只要操作数类型兼容(如 int、float64 等),Go 就能自动计算并返回对应类型的结果。
支持的算术运算符及用法
Go 提供以下五种基础算术运算符:
- +:加法(支持整数、浮点数、字符串拼接)
- -:减法(仅支持数值类型)
- *:乘法(仅支持数值类型)
- /:除法(整数相除结果向零取整;浮点数相除得浮点结果)
- %:取余(仅支持整数类型,符号与被除数一致)
整数运算示例(int 类型)
整数运算最常用,注意除法和取余对类型有严格要求:
package main
import "fmt"
<p>func main() {
a, b := 17, 5
fmt.Println("a + b =", a + b) // 22
fmt.Println("a - b =", a - b) // 12
fmt.Println("a <em> b =", a </em> b) // 85
fmt.Println("a / b =", a / b) // 3(整数除法,截断小数)
fmt.Println("a % b =", a % b) // 2(17 ÷ 5 = 3 余 2)</p><pre class="brush:php;toolbar:false;">// 负数取余:结果符号与被除数(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"
)
<p>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(等价于浮点取余)
}</p>⚠️ 注意:% 运算符不能用于浮点数,否则编译报错: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 等,并在跨类型运算时手动转换。










