运算符
Go语言内置的运算符
1.算数运算符
2.关系运算符
3.逻辑运算符
4.位运算符
5.赋值运算符
算数运算符
运算符 | 描述 |
---|---|
+ | 相加 |
- | 相减 |
* | 相乘 |
/ | 相除 |
% | 求余 |
注意:
++(自增)–(自减)在Go语言中是单独的语句,并不是运算符。
关系运算符
运算符 | 描述 |
---|---|
== | 检查两个值是否相等,相等返回true否则返回false |
!= | 检查两个值是否不相等,不相等返回true否则返回false |
> | 检查左边值是否大于右边的值,大于返回true否则返回false |
>= | 检查左边值是否大于等于右边的值,大于等于返回true否则返回false |
< | 检查左边值是否小于右边的值,小于返回true否则返回false |
<= | 检查左边值是否小于等于右边的值,小于等于返回true否则返回false |
逻辑运算符
运算符 | 描述 |
---|---|
&& | 逻辑AND运算符。如果两边都是true,则为true否则为false |
|| | 逻辑OR运算符。如果两边操作有一个true,则为true否则为false |
! | 逻辑NOT运算符。如果条件为true则为false,否则为true |
位运算
位运算符对整数在内存中的二进制位进行操作。
运算符 | 描述 |
---|---|
& | 参与运算的两数各对应的二进位相与(两位均为1才为1) |
| | 参与运算的两数各对应的二进位相或(两位有一个为1就为1) |
^ | 参与运算的两数各对应的二进位相异或,当两对应二进位相异时,结果为1(两位不一样则为1) |
<< | 左移n位就是乘以2的n次方 (a << b就是把a的各二进位全部左移b位,高位丢弃,低位补0) |
>> | 右移n位就是除以2的n次方(a>>b就是把a的各二进位全部右移b位) |
注意:
Go语言是强类型语言只有相同类型的值才能进行比较,应用ip地址如192.168.0.0.1 (每段8进制)或liunx文件权限
移位的时候不要超出变量的容量
package main
import "fmt"
func main(){
var m = int8(1)
s := m << 10
//10000000000 超出显示 0
fmt.Println(s)
}
赋值运算符
运算符 | 描述 |
---|---|
= | 简单赋值运算符,将一个表达式的值赋给左值 |
+= | 加后再赋值 |
-= | 减后再赋值 |
*= | 乘后再赋值 |
/= | 除后再赋值 |
<<= | 左移后再赋值 |
>>= | 右移后再赋值 |
&= | 按位与后赋值 |
|= | 按位或后赋值 |
&= | 按位与后赋值 |
^= | 按位异或后赋值 |