一、Go基础知识5、运算符

一、运算符

1、+:加法。

var a, b = 1, 2
fmt.Println(a+b)

结果:3

2、-:减法。

var a, b = 1, 2
fmt.Println(a-b)

结果:-1

3、*:乘法。

var a, b = 1, 2
fmt.Println(a*b)

结果:2

4、/:除法。

整数除整数:会截断小数部分保留整数部分。
除数与被除数只要其中一个为浮点数,结果也是浮点数。

var a, b = 1, 2
fmt.Println(a/b)

结果:0

var a, b = 1.0, 2
fmt.Println(a/b)

结果:0.5

5、%:余数,取模运算。

var a, b = 1, 2
fmt.Println(a%b)

结果:1

6、++:自增,即自身加1。

var a = 1
fmt.Println(a++)

结果:2

7、--:自减,即自身减1。

var a = 1
fmt.Println(a--)

结果:0

8、==!=:相等和不等。

var a, b = 1, 2
fmt.Println(a==b)

结果:false

var a, b = 1, 1
fmt.Println(a==b)

结果:true

var a, b = 1, 2
fmt.Println(a!=b)

结果:true

var a, b = 1, 1
fmt.Println(a!=b)

结果:false

8、&&逻辑运算符:与

var a, b = true, false
fmt.Println(a && b)

结果:false
解释:a, b中所有为true结果即为true,a, b中任一为false结果即为false。

9、||逻辑运算符:或

var a, b = true, false
fmt.Println(a || b)

结果:true
解释:a, b中任一为true结果即为true,a, b中所有为false结果即为false。

10、!逻辑运算符:否

var a = true
fmt.Println(!a)

结果:false
解释:a为true,否a即为false。

11、位运算符

对整数在内存中的二进制位进行操作。
在这里插入图片描述

11.1、&:与运算。类似于第8点:逻辑运算符与。p, q中所有为1结果即为1,p, q中任一为0结果即为0。

11.2、|:或运算。类似于第9点:逻辑运算符或。p, q中任一为1结果即为1,p, q中所有为0结果即为0。

11.3、^:异或运算。p, q两者值不一样才为1,相同即为0。

A = 0011 1100
B = 0000 1101
A & B = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001

其中,A是十进制数60的二进制,B是十进制数13的二进制。

var A = 60
var B = 13
fmt.Printin(A&B)

结果:12

11.4、<<左移运算符

左移运算符<<是双目运算符。左移n位就是乘以2的n次方。其功能把<<左边的运算数的各二进位全部左移若干位,由<<右边的数指定移动的位数,高位丢弃,低位补0。

假设A为十进制数60,其二进制数即为 0011 1100,A << 2结果为 240,二进制为1111 0000。

解释:A << 2即A的二进制数往左移2位,原本前面两个扔掉,其他数左移,后面少掉的两位补上0。

11.5、>>右移运算符

右移运算符>>是双目运算符。右移n位就是除以2的n次方。其功能把>>左边的运算数的各二进位全部右移若干位,由>>右边的数指定移动的位数,低位丢弃,高位补0。

假设A为十进制数60,其二进制数即为 0011 1100,A >> 2结果为 15,二进制为0000 1111。

解释:A >> 2即A的二进制数往右移2位,原本后面两个扔掉,其他数右移,前面少掉的两位补上0。

12、赋值运算符

在这里插入图片描述

13、其他运算符&*

&
返回变量存储地址。
&a:将给出变量的实际地址。

*
指针变量。
*a:是一个指针变量。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风不归Alkaid

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值