算数运算符

/*
算术运算符:+,-,*,/,%,++,--
*/
a := 10
b := 3
sum := a + b //加减乘类似
fmt.Printf("%d + %d = %d\n", a, b, sum)
div := a / b //取商
mod := a % b //取余,取模
fmt.Printf("%d ÷ %d = 商%d,余%d\n", a, b, div, mod) b++
fmt.Println(b)
b--
fmt.Println(b)

10 + 3 = 13

10 ÷ 3 = 商3,余1

4

3

关系运算符

/*
关系运算符:>,<,>=,<=,==,!=
关系运算结果总是bool类型:true,false
*/
res1 := a > b //true
res2 := a < b //false
res3 := a == b //false
res4 := a != b //true
fmt.Println(res1, res2, res3, res4)

true false false true

逻辑运算符

/*
逻辑运算符:操作数必须是bool,运算结果也是bool
逻辑与:&&
逻辑或:||
逻辑非:!
*/
f1 := true
f2 := false
f3 := false
r1 := f1 && f2 //false
r2 := f1 && f2 && f3 //false
fmt.Println(r1, r2)
r3 := f1 || f2 //true
r4 := f1 || f2 || f3 //true
r5 := f2 || f3 //false
fmt.Println(r3, r4, r5)
r6 := !f1 //false
fmt.Println(r6)

false false

true true false

false

位运算符

/*
位运算符:将数值,转为二进制后,按位操作
按位与:&
对应位的值都为1才为1,有一个为0就为0
按位或:|
对应位的值都为0才位0,有一个位1就位1
异或:^
二元:a^b,对应位的值相同则为0,不同则为1
一元:^a,按位取反,1->0, 0->1
位清空:&^
a &^ b, 对于b上的每位数值
如果为0,则取a对应位上的数值
如果位1,则取0
按位左移:<<, a << b, 将a转为二进制,向左移动b位
按位右移:>>, a >> b, 将a转为二进制,向右移动b位
*/
v1 := 60 //二进制:0011 1100
v2 := 13 //二进制:0000 1101
fmt.Printf("%d,%b\n", v1, v1)
fmt.Printf("%d,%b\n", v2, v2)
w1 := v1 & v2 //0000 1100
w2 := v1 | v2 //0011 1101
w3 := v1 ^ v2 //0011 0001
w4 := v1 &^ v2 //0011 0000
fmt.Printf("%d,%b\n", w1, w1)
fmt.Printf("%d,%b\n", w2, w2)
fmt.Printf("%d,%b\n", w3, w3)
fmt.Printf("%d,%b\n", w4, w4)
fmt.Printf("%d,%b\n", ^v1, ^v1) w5 := v1 << 2 //1111 0000
fmt.Printf("%d,%b\n", w5, w5)

60,111100

13,1101

12,1100

61,111101

49,110001

48,110000

-61,-111101

240,11110000

赋值运算符

/*
赋值运算符:
=, +=, -=, *=, /=, %=, <=, >=, &=, |=, ^=
=, 右侧数值赋值给左边变量
+=, a += 2 相当于a = a + 2。
-=, *=, /=, %= 与 += 类似
*/

最新文章

  1. jq添加数组
  2. java 读写properties (配置)文件
  3. [aspx]控件及代码小例
  4. 中断是CPU的机制
  5. Where is Vasya?
  6. Supervisord管理
  7. LeetCode C++ 解题报告
  8. H5移动端性能优化
  9. hdu1028(整数划分问题)
  10. CATransform3D的使用以及各个参数的含义
  11. J2EE十三个规范小结
  12. centos 手动增加swap分区
  13. bootstrap&mdash;&mdash;bootstrap-table(2)
  14. Antlr v4入门教程和实例
  15. Go开发之路 -- Go语言基本语法
  16. 将Java项目从maven迁移到gradle
  17. ASP------字符串与HTML格式相互转换
  18. Cassandra2.0.8导入到eclipse运行
  19. there is already &#39;RtController&#39; bean method 项目报错
  20. ( 转 ) mysql 实战 or、in与union all 的查询效率

热门文章

  1. html 基础 vscode的常用快捷键
  2. [ css ] 实现漂亮的输入框动画(借鉴自panjiachen的后台管理项目)
  3. Object.keys()方法 返回对象属性数组
  4. 方法覆盖 和toString方法的作用
  5. 机器学习|线性回归三大评价指标实现『MAE, MSE, MAPE』(Python语言描述)
  6. 微信小程序使用Websocket
  7. 基本的sql语法
  8. sql审核-避免离线sql导致的db集群故障
  9. Sharding Sphere的分库分表
  10. Keil MDK STM32系列(九) 基于HAL和FatFs的FAT格式SD卡TF卡读写