golang的操作符
1.0、参考

The Go Programming Language Specification - Operators

1.1、算数运算符
运算符运算说明示例
+
a + b
加法
var x = 2
var y = x + 3
字符串连接
var s = 'abc' + '123'
//s = 'abc123'
+a
取正
var x = 2
var y = +x
-
a - b
减法
var x = 2
var y = x - 3
-a
取相反数
var x = 2
var y = -x
*
a * b
乘法
var x = 2
var y = x * 3
/
a / b
除法
var x = 2
var y = x / 3
%
a % b
取余
var x = 2
var y = x % 3
++
a++
自增1
var x = 2
var y = x++
--
a--
自减1
var x = 2
var y = x--

注意 :

  • golang中没有提供在其他语言中提供的**符号,这是一个二元运算符,表达方式为a ** bgolang中要表达a ** b,需要使用math.pow(a, b)函数
  • golang中没有++a--a操作
1.2、位运算符
运算符运算说明示例
&
a & b
按位与
var x = 2
var y = x & 3
&a
取地址符
var name string
fmt.Scanf("%s", &name)
|
a | b
按位或
var x = 2
var y = x | 3
^
a ^ b
按位异或
var x = 2
var y = x ^ 3
&^
a &^ b
清零a中ab都为1的位
var x = 2
var y = x &^ 3
<<
a << b
左移b
var x = 2
x = x << 3
>>
a >> b
右移b
var x = 2
x = x >> 3
1.3、赋值运算符
运算符运算相当于示例
=
var a = VALUE
var x = 2
var y = x + 3
:=
a := b
x := 2
+=
a += b
a = a + b
var x = 2
x += 3
-=
a -= b
a = a - b
var x = 2
x -= 3
*=
a *= b
a = a * b
var x = 2
x *= 3
/=
a /= b
a = a / b
var x = 2
x /= 3
%=
a %= b
a = a % b
var x = 2
x %= 3
&=
a &= b
a = a & b
var x = 2
x &= 3
|=
a |= b
a = a | b
var x = 2
x |= 3
^=
a ^= b
a = a ^ b
var x = 2
x ^= 3
&^=
a &^= b
a = a &^ b
var x = 2
x &^= 3
<<=
a <<= b
a = a << b
var x = 2
x <<= 3
>>=
a >>= b
a = a >> b
var x = 2
x >>= 3
1.4、关系运算符
运算符运算说明
==
a == b
等于
!=
a != b
不等于
<
a < b
小于
<=
a <= b
小于或等于
>
a > b
大于
>=
a >= b
大于或等于
1.5、条件运算符

注意 :下面的这种三目条件运算符在golang中不被支持。

condition ? expression1 : expression2
1.6、逻辑运算符
运算符运算说明示例
&&
a && b
逻辑与
(a > 5) && true
(cmd == nil) && true
||
a || b
逻辑或
(a > 5) || true
(cmd == nil) || true
!
!a
逻辑非
! (a > 5)