首页 > 其他分享 >第十三篇: go运算符

第十三篇: go运算符

时间:2022-10-03 04:00:15浏览次数:54  
标签:优先级 示例 等价 运算符 按位 go 十三篇 赋值

算术运算符

运算符 术语 示例 结果
+ 10 + 5 15
- 10 - 5 5
* 10 * 5 50
/ 10 / 5 2
% 取模(取余) 10 % 3 1
++ 后自增,没有前自增 a=0; a++ a=1
-- 后自减,没有前自减 a=2; a-- a=1

关系运算符

运算符 术语 示例 结果
== 相等于 4 == 3 false
!= 不等于 4 != 3 true
< 小于 4 < 3 false
> 大于 4 > 3 true
<= 小于等于 4 <= 3 false
>= 大于等于 4 >= 1 true

逻辑运算符

运算符 术语 示例 结果
! !a 如果a为假,则!a为真;如果a为真,则!a为假。
&& a && b 如果a和b都为真,则结果为真,否则为假。
\ \ a \ \ b 如果a和b有一个为真,则结果为真,二者都为假时,结果为假。

位运算符

运算符 术语 说明 示例
& 按位与 参与运算的两数各对应的二进位相与 60 & 13 结果为12
\ 按位或 参与运算的两数各对应的二进位相或 60 \ 13 结果为61
^ 异或 参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1 60 ^ 13 结果为240
<< 左移 左移n位就是乘以2的n次方。 左边丢弃,右边补0。 4 << 2 结果为16
>> 右移 右移n位就是除以2的n次方。 右边丢弃,左边补位。 4 >> 2 结果为1

赋值运算符

运算符 说明 示例
= 普通赋值 c = a + b 将 a + b 表达式结果赋值给 c
+= 相加后再赋值 c += a 等价于 c = c + a
-= 相减后再赋值 c -= a 等价于 c = c - a
*= 相乘后再赋值 c *= a 等价于 c = c * a
/= 相除后再赋值 c /= a 等价于 c = c / a
%= 求余后再赋值 c %= a 等价于 c = c % a
<<= 左移后赋值 c <<= 2 等价于 c = c << 2
>>= 右移后赋值 c >>= 2 等价于 c = c >> 2
&= 按位与后赋值 c &= 2 等价于 c = c & 2
^= 按位异或后赋值 c ^= 2 等价于 c = c ^ 2
\ = 按位或后赋值 c \ = 2 等价于 c = c \ 2

其他运算符

运算符 术语 示例 说明
& 取地址运算符 &a 变量a的地址
* 取值运算符 *a 指针变量a所指向内存的值

运算符优先级

在Go语言中,一元运算符拥有最高的优先级,二元运算符的运算方向均是从左至右。

下表列出了所有运算符以及它们的优先级,由上至下代表优先级由高到低:

优先级 运算符
7 ^ !
6 *** / % <<>>& &^**
5 **+ - \ ^**
4 == != <<= >= >
3 <-
2 &&
1 **\ \ **

当然,你可以通过使用括号来临时提升某个表达式的整体运算优先级。

标签:优先级,示例,等价,运算符,按位,go,十三篇,赋值
From: https://www.cnblogs.com/l-uz/p/16749907.html

相关文章

  • 第五篇: GO-fmt格式“占位符”,iota
    golangfmt格式“占位符”动物园园长熊熊酱·2017-07-0609:07:13·1442次点击·预计阅读时间2分钟·8分钟之前开始浏览这是一个创建于2017-07-0609:07:13......
  • 第八篇: go 变量、常量、基本数据类型
    变量/*###########变量的定义和使用##########*/packagemainfuncmain(){ //1方式一:基本定义 //var关键字变量名变量类型=变量值 //varageint=18//定......
  • 第九篇: go 函数
    命名规范1变量:go语言中变量区分大小写,建议用驼峰 varName="lqz" varname="lqz" fmt.Println(Name) fmt.Println(name)2文件名:建议用下划线3大写字母开头,表......
  • 第十篇: GO-包、go mod、if-else语句、switch语句
    Gomod语法modulemy/thinggo1.13.4require(new/thingv2.3.4old/thingv1.2.3)1.module:指明根目录2.go后面跟版本号是指定go的版本2.require是个动作指......
  • 第十二篇: go数据类型
    数据类型1.分类Go语言内置以下这些基础类型:类型名称长度零值说明bool布尔类型1false其值不为真即为家,不可以用数字代表true或falsebyte字节型10......
  • 第十一篇: GO-数组、切片、Maps、sync.map并发安全map
    数组1、定义数组packagemainimport"fmt"funcmain(){ //定义了一个大小为3的int类型数组 //数组在定义阶段,大小和类型就固定了 vara[3]int//只定义,没有......
  • 位运算符
    java中有7个位运算符(&、|、^、~、>>、<<、>>>)按位与&  按位或|  按位异或^  按位取反~按位与&  两位全为1,结果为1,否则为0按位或|   两位有一个为1,......
  • 使用bt面板中Python项目管理部署Django项目找不到static采坑记
    工作需要,准备在用django做一个小项目,本地测试没有问题,但是使用bt的工具“python项目管理器”部署到服务器上,找不到static文件(python项目管理器应用可以参考https://www.bt.......
  • Go的Error、Log.Fatal和Defer
    Go的Error、Log.Fatal和Defer1.Error1.errors.New创建errow对象2.fmt.Errorf用字符串创建error对象。3.自定义2.Log.Fatal和Panic的区别funcfileSize(filenamestring)......
  • Python+Django+Nginx的从0到1的个人网站搭建
    前言本文以实现最终结果为导向,对知识点不做过多阐述。流程中有任何问题请及时面向搜索程序或他人解决问题。一、准备工作Python的下载Python下载地址不会安装的......