Go语言运算符包括算术、关系、逻辑、位、赋值等类型,优先级分五级:最高为后缀操作如()、[]、.、++、--,其次为单目运算符如!、-、&、*等。

Go语言中的运算符用于执行基本的数学或逻辑操作。掌握运算符的语法和优先级,有助于写出正确且易读的代码。下面介绍Golang中常见的运算符类型及其优先级规则。
常见运算符分类
Go语言中的运算符大致可分为以下几类:
- 算术运算符:+、-、*、/、%、++、--
- 关系运算符:==、!=、、>=
- 逻辑运算符:&&、||、!
- 位运算符:&、|、^、>、&^(按位清零)
- 赋值运算符:=、+=、-=、*=、/=、%=、&=、|=、^=、>=
- 指针相关:&(取地址)、*(解引用)
- 其他:->(结构体指针成员访问,C风格,Go中用.代替)、[](索引)、()(函数调用)、.
注意:Go不支持三元运算符(a ? b : c),需使用if-else代替。
运算符优先级(从高到低)
理解优先级能避免表达式歧义。Go的运算符优先级共5级:
立即学习“go语言免费学习笔记(深入)”;
- 最高:后缀操作 — ()、[]、.(结构体字段)、++、--(右结合)
- 单目运算符 — !、-、&、*、+、-(正负号)、^、
- 乘法类 — *、/、%、>、&、&^
- 加法类 — +、-、|、^
- 比较与逻辑 — ==、!=、、>=、&&、||(赋值最低)
例如表达式:
a + b
解析顺序为:
(((a + b)
实际使用建议
虽然Go定义了优先级,但为了代码可读性,建议:
- 复杂表达式使用括号明确优先级
- 避免一行写多个副作用操作(如 i++ + j--)
- 逻辑表达式中 && 优先于 ||,但仍推荐加括号分组
- 注意 ++ 和 -- 是语句,不能作为表达式使用(如不能写 a = i++)
基本上就这些。Go的运算符设计简洁,优先级规则清晰,合理使用括号能让逻辑更明确。










