前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go语言运算符

Go语言运算符

作者头像
Steve Wang
发布2020-12-22 15:07:52
7440
发布2020-12-22 15:07:52
举报
文章被收录于专栏:从流域到海域从流域到海域

Go语言运算符和运算符的优先级与C++一致,如果你熟悉C++或者Java的运算符,就不需要查阅这篇博客。Go和Java在运算符上的区别和C++和Java的区别一样。Go和C++都支持指针,因此有取地址运算符&和取内容运算符*,你也可以理解*指示一个指针变量。除此之外,Go不支持C++以及Java所支持的唯一的三目运算符条件?语句1:语句2

Go语言内置的运算符包括:

  • 算术运算符
  • 关系运算符
  • 位运算符
  • 赋值运算符
  • 其他运算符(与指针相关的&*)

以上全部等同于C++

算术运算符

运算符

描述

+

-

*

/

整除

%

取余

++

自增

--

自减

逻辑运算符(与、或、非)

运算符

描述

&&

逻辑与

||

逻辑或

!

逻辑非

位运算符

运算符

描述

&

按位与

|

按位或

^

按位异或

<<

左移

>>

右移

同C++,Go也不支持Java的循环左移<<<和循环右移>>>。因为它的整型有有符号和无符号之分。<<<也称为无符号左移,>>>也称为无符号右移。

赋值运算符

运算符

描述

=

赋值

+=

i += j是i = i + j的简写

-=

i -= j是i = i - j的简写

*=

i *= j是i = i * j的简写

/=

i /= j是i = i / j的简写

%=

i %= j是i = i % j的简写

<<=

i <<= j是i = i << j的简写

>>=

i >>= j是i = i >> j的简写

&=

i &= j是i = i & j的简写

^=

i ^= j是i = i ^ j的简写

|=

i |= j是i = i | j的简写

变量初始化时也支持:=运算符,这点区别于C++。

指针运算符

运算符

描述

&

取地址运算符,它得到一个变量的地址(指针)

*

取内容运算符,它根据指针(地址)得到变量的值,因此*后面跟的是指针变量

运算符优先级

常用二元运算符优先级

优先级

运算符

5

* / % << >> &

4

+ - | ^

3

== != < <= > >=

2

&&

1

||

全部运算符优先级

优先级

分类

运算符

结合性

1

逗号运算符

,

从左到右

2

赋值运算符

=、+=、-=、*=、/=、 %=、 >=、 <<=、&=、^=、|=

从右到左

3

逻辑或

||

从左到右

4

逻辑与

&&

从左到右

5

按位或

|

从左到右

6

按位异或

^

从左到右

7

按位与

&

从左到右

8

相等/不等

==、!=

从左到右

9

关系运算符

<、<=、>、>=

从左到右

10

位移运算符

<<、>>

从左到右

11

加法/减法

+、-

从左到右

12

乘法/除法/取余

*(乘号)、/、%

从左到右

13

单目运算符

!、*(指针)、& 、++、--、+(正号)、-(负号)

从右到左

14

后缀运算符

( )、[ ]、->

从左到右

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-12-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 算术运算符
  • 逻辑运算符(与、或、非)
  • 位运算符
  • 赋值运算符
  • 指针运算符
  • 运算符优先级
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档