运算符用于在程序运行时执行数学或逻辑运算
Go语言内置的运算符有:
- 算术运算符: 加 +
, 减 -
, 乘 *
, 除 /
自增 ++
, 自减 --
- 关系运算符: ==
, !=
, >
, <
, >=
, <=
值为True
或者 False
- 逻辑运算符: &&
, ||
, !
值为 True
or False
- 位运算符: 对整数 在内存中二进制位进行操作
- 赋值运算符: =
, +=
, -=
, *=
, /=
, /=
, %=
, <<=
, >>=
, &=
, |=
, ^=
- 其他运算符 : 返回变量的内存地址&
, 指针变量 *
下表列出位运算符&
, |
和 ^
的计算方式:
p | q | p&q | p | q | p^q |
---|---|---|---|---|
与 | 或 | 异或 | ||
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
package main
import "fmt"
func main(){
var a uint = 60 // 0011 1100
var b uint = 13 // 0000 1101
var c uint = 0 //
c = a & b // 0000 1100
c = a | b // 0011 1101
c = a ^ b // 0011 0001
c = a << 2 // 1111 0000
c = a >> 2 // 0000 1111
}
运算符优先级:
优先级 | 运算符 |
---|---|
7 | ^ ! |
6 |
|
5 |
|
4 | == != =< => |
3 | <- |
2 | && |
1 | || |