1
算数运算符
算数运算符和数学中的运算符基本类似,但是需要注意的是:
**a.**参加算数运算的是两个相同类型的算数,不同类型的算数不能参加运算,且运算后的结果也是同一类型;
b. 在go语言里自增(自减)表达式只能是后自增(自减)表达式,且自增表达式独立成行,不能参与其他运算(包括赋值)。
现以a=10,b=20为例,其运算结果如表1所示。
示例如下:
2
关系运算符
不同于c语言的关系运算结果为0或1,go语言的关系运算结果为true或false。go语言有6种关系运算,如表2所示,现以a=4,b=3为例,其运算结果如表2所示。
示例如下:
3
逻辑运算符
逻辑运算符有三种:与、或、非。参加逻辑运算的对象都是布尔型,其运算符和术语如表3所示。
示例如下:
4
位运算符
4.1 位运算符
与逻辑运算符的运算对象的类型都是布尔型不同,位运算符(按位与、按位或、异或、按位置零)的运算对象是两个数的二进制数相对应的二进位,位运算符(左移、右移)针对一个数的二进制数的左移或右移。其运算方式如表4所示。
4.2 位运算对整数二进制位进行操作
二进制数据是用0和1两个数码表示的数,对两个整数的二进制位进行位运算,有按位与、按位或、异或和按位置零四种,其运算规则为:
a. 按位与(p&q):当对应的二进制位均为1,按位与的结果为1,否则均为0;
b. 按位或(p|q):当对应的二进制位均为0,按位或的结果为0,否则均为1;
c. 异或(p^q):当对应的二进制位相同(均为0或均为1),异或结果为0;不同,异或结果为1;
d. 按位置零(p&^q):如表5所示,当q取0,则按位置零得结果和p的数据一致;当q取1,则按位置零得结果为0。
示例如下:
5
赋值运算符
赋值运算符包含普通的赋值运算符(=),也包含先进行算数运算(+、-、*、/、%)或位运算(&、|、^)、再进行赋值的赋值运算符,如表6所示。
注:左移或右移的位数必须是整数型常量或整数型字面常量。
6
其他运算符
其他运算符包含取地址运算符和取值运算符,如表7所示。这些运算符在指针这一章节再详细讲解。
示例如下:
7
运算符优先级
go语言运算符有一元运算符和二元运算符,其中一元运算符的优先级别比二元运算符高,如表8所示。
Nvidia欲向Tesla抛出橄榄枝!特斯拉与英伟达可否再次碰撞出火花?
FPGA设计的具有数字显示的水温测控系统
工业控制中机器人如何运用感知系统
嵌入式系统运用于典型雷达航迹模型及实现仿真模拟
74hc595级联程序范例
Go语言运算符主要包括哪些呢?
苏州供电公司申请的电网动态防雷技术国际标准已获得了批复立项
光通信系统中SD-FEC软判决纠错编码技术浅析
光耦的4个脚怎样区分_光耦的各引脚怎么判断
硅晶圆有望进行大幅涨价 12吋硅晶圆供不应求
回顾2020年的冰箱行业
2017年第二季度DRAM组件销售额达165亿美元
AT89S52单片机的超声波倒车雷达系统的设计
未来五年,中国产业经济的所有命运都掌握在自己手上
电磁阀的作用原理 单向电磁阀与双向电磁阀的区别
原来“bug”真的由bug而来
RealAI田天获选创业邦2020年“30岁以下创业新贵”
iPhone 12到底值不值得升级?
基于FPGA的等精度频率计的设计与实现
几种常用的洛氏硬度计