Go语言学习 第五章 运算符和表达式 ②

masterL · 2019-11-26 16:26:29 · 1901 次点击 · 预计阅读时间 2 分钟 · 大约8小时之前 开始浏览    
这是一个创建于 2019-11-26 16:26:29 的文章,其中的信息可能已经有所发展或是发生改变。

7 运算符优先级

运算符是用来在程序运行时执行数学或逻辑运算的,在Go语言中,一个表达式可以包含多个运算符,当表达式中存在多个运算符时,就会遇到优先级的问题,此时应该先处理哪个运算符呢?

这个就由Go语言运算符的优先级来决定的。

Go语言有几十种运算符,被分成十几个级别,有的运算符优先级不同,有的运算符优先级相同。

请看下表:

优先级 分类 运算符 结合性
1 逗号运算符 , 从左到右
2 赋值运算符 =、+=、-=、*=、/=、 %=、 >=、 <<=、&=、^=、\ = 从右到左
3 逻辑或 丨丨 从左到右
4 逻辑与 && 从左到右
5 按位或 从左到右
6 按位异或 ^ 从左到右
7 按位与 & 从左到右
8 相等/不等 ==、!= 从左到右
9 关系运算符 <、<=、>、>= 从左到右
10 位移运算符 <<、>> 从左到右
11 加法/减法 +、- 从左到右
12 乘法/除法/取余 *(乘号)、/、% 从左到右
13 单目运算符 !、*(指针)、& 、++、--、+(正号)、-(负号) 从右到左
14 后缀运算符 ( )、[ ]、-> 从左到右

注意:优先级值越大,表示优先级越高。

8 类型转换

数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型的转换问题。

两种不同的类型在计算时,Go语言要求必须进行类型转换。

类型转换用于将一种数据类型的变量转换为另外一种类型的变量。

Go 语言类型转换基本格式如下:

数据类型(变量)         //将变量转成指定的类型
数据类型(表达式)        //将表达式转成指定的类型

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1901 次点击  
加入收藏 微博
被以下专栏收入,发现更多相似内容
2 回复  |  直到 2021-06-02 22:51:23
xiaosagebai
xiaosagebai · #1 · 4年之前

这优先级都错了,误人子弟啊

xiaoxiao666
xiaoxiao666 · #2 · 4年之前

不错,学习了

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传