算数运算符

/*
算术运算符:+,-,*,/,%,++,--
*/
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。
-=, *=, /=, %= 与 += 类似
*/

go基础——运算符的更多相关文章

  1. [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式

    [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...

  2. js基础——运算符

    爱创课堂前端培训--js基础 运算符一.运算符 运算符(Operators,也翻译为操作符),是发起运算的最简单形式.分类:(运算符的分类仁者见智,本课程进行一下分类.)数学运算符(Arithmeti ...

  3. 基础运算符补充,流程控制之if判断/while循环

    常量 常量即指不变的量.在python中没有一个专门 的语法代表常量,程序员约定俗成地用变量名全部被大写代表常量. AGE_OF_OLDBOY = 56 基础运算符补充 1.算术运算 加减乘除+ - ...

  4. python常用命令和基础运算符

    基础运算符 http://www.cnblogs.com/alex3714/articles/5465198.html 身份运算符:is is not成员运算符:in not in ##in 判断元素 ...

  5. 分分钟钟学会Python -基础&运算符

    day002 基础&运算符 1.循环语句 ### 1.循环格式 while 条件: print('') ''' while True: print('人生苦短,我用Python.') ''' ...

  6. 10-12C#基础--运算符

    10-12C#基础--运算符 课前作业:班级内人数的姓名和年龄,分别写出之后并汇总. 一.运算符的分类 1.数学运算符(7个) 1)+(加号) 例: 2)-(减号) 例: 3)*(乘号) 例: 4)/ ...

  7. Python学习 之三 Python基础&运算符

    第三章:Python基础 & 运算符 3.1 内容回顾 & 补充 计算机基础 编码 字符串: "中国" "Hello" 字 符: 中 e 字 节 ...

  8. 小白学 Python(6):基础运算符(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  9. Java编程基础——运算符和进制

    Java编程基础——运算符和进制 摘要:本文主要介绍运算符和进制的基本知识. 说明 分类 Java语言支持如下运算符: ◆ 算术运算符:++,--,+,-,*,/,%. ◆ 赋值运算符:=,+=,-= ...

  10. C++基础——运算符重载友元函数示例

    一.前言 其实本人学习C++的目的,只是为了体会OOP设计思想,并为利用System Verilog验证复杂设计做准备.如果想要真正做点软件方面项目级的东西,还需要掌握其他高级语言和库.框架等知识.因 ...

随机推荐

  1. RSA非对称加密算法实现:Python

    RSA是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的.当时他们三人都在麻省理工学院工作.RSA ...

  2. Hadoop问题解决记录

    # 1.解决Unable to load native-hadoop library for your platform告警 安装Hadoop启动之后总有警告:Unable to load nativ ...

  3. mt19937

    额,这个是一个小记.没什么,就是记给自己看的,你可以走了. mt19937 需要 C++11.生成高质量随机数. mt19937 rnd(chrono::system_clock::now().tim ...

  4. Python_issubclass&isinstance方法和types&inspect内置模块

    issubclass&isinstance issubclass 用于判断一个类是否是一个已知类或是该已知类的子类.注意,该方法只能判断类不能判断实例化对象. class A: pass cl ...

  5. MongoDB学习 - 简单使用

    1.项目引入pom依赖 <!-- mongodb --><dependency> <groupId>org.springframework.boot</gro ...

  6. win11系统设置笔记本合盖上不休眠

    第一步.打开控制面板 第二步.打开控制面板 第三步.打开电源选项 第四步.如下图操作即可

  7. [转]Vue之引用第三方JS插件

    1.绝对路径引入,全局使用. 在index.html文件中使用script标签引入插件. 该种方式就是上面演示ckplayer插件使用的方式. 备注: 这种方式的引用,会在开启ESLint时,报错,可 ...

  8. 《剑指offer》面试题64. 求1+2+…+n

    问题描述 求 1+2+...+n ,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 示例 1: 输入: n = 3 输出: 6 示 ...

  9. ES6随笔D1

    1.数值解构赋值 ES6 允许按照一定模式,可以从数组中提取值,按照对应位置,对变量赋值,这被称为解构. 解构赋值的规则是,只要等号右边的值不是对象或数组,就先将其转为对象.由于undefined和n ...

  10. [STM32F10x] 利用定时器测量频率

    硬件:STM32F103C8T6 平台:ARM-MDk V5.11 原理 利用STM32F10x的定时器的捕获(Capture)单元测量输入信号的频率. 基本原理是通过两次捕获达到的计数器的差值,来计 ...