1 算术运算符

运算符

术语

示例

结果

+

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

2 关系运算符

运算符

术语

示例

结果

==

相等于

4 == 3

false

!=

不等于

4 != 3

true

<

小于

4 < 3

false

>

大于

4 > 3

true

<=

小于等于

4 <= 3

false

>=

大于等于

4 >= 1

true

3 逻辑运算符

运算符

术语

示例

结果

!

!a

如果a为假,则!a为真;

如果a为真,则!a为假。

&&

a && b

如果a和b都为真,则结果为真,否则为假。

||

a || b

如果a和b有一个为真,则结果为真,二者都为假时,结果为假。

  1. package main
  2.  
  3. import "fmt"
  4.  
  5. func main(){
  6. fmt.Println("4>3 结果:", >)
  7. fmt.Println("4!=3 结果", !=)
  8.  
  9. fmt.Println("!(4>3) 结果:", !(>))
  10. fmt.Println("!(4!=3) 结果", !(!=))
  11.  
  12. //&& 与,并且, 左边右边都为真,结果才为真
  13. fmt.Println("true && true 结果:", true && true)
  14. fmt.Println("true && false 结果:", true && false)
  15.  
  16. // || 或 左边和右边都为假的时候,结果才为假,其他都为真
  17. fmt.Println("true || false 结果:", true || false)
  18. fmt.Println("false || false 结果:", false || false)
  19.  
  20. a :=
  21. // fmt.Println("0<a<=10 结果为:", 0<a<=10) //go中不支持这种连写,python支持
  22. fmt.Println("0<a && a <=10 的结果:", <a && a <=)
  23. }

4 位运算符

运算符

术语

说明

示例

&

按位与

参与运算的两数各对应的二进位相与(两位都为1则为1)

60 & 13 结果为12

|

按位或

参与运算的两数各对应的二进位相或(两位有一个为1就为1)

60 | 13 结果为61

^

异或

参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1(两位不一样则为1)

60 ^ 13 结果为240

<<

左移

左移n位就是乘以2的n次方。
“a<<b”是把a的各二进位全部左移b位,高位丢弃,低位补0。

4 << 2 结果为16

>>

右移

右移n位就是除以2的n次方。
“a>>b”是把a的各二进位全部右移b位。

4 >> 2 结果为1

  1. //权限设计
  2.  
  3. --- r
  4. --- w
  5. --- x
  6.  
  7. | = //增加权限
  8. & = //验证权限
  9. ^ = // 删除权限
  1. const (
  2. _ = iota
  3. KB = << ( * iota)
  4. MB = << ( * iota)
  5. GB = << ( * iota)
  6. TB = << ( * iota)
  7. PB = << ( * iota)
  8. )

5 赋值运算符

运算符

说明

示例

=

普通赋值

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

6 其他运算符

运算符

术语

示例

说明

&

取地址运算符

&a

变量a的地址

*

取值运算符

*a

指针变量a所指向内存的值

7 运算符优先级

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

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

优先级

运算符

7

^      !  

6

*       /    %    <<    >>    &      &^

5

+      -     |      ^

4

==   !=   <    <=    >=    >

3

<-

2

&&

1

||

Go的运算符的更多相关文章

  1. shell运算符

    原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用. expr 是一款表达式计算工具,使用它能完成表达式的求值操作. #!/bin/bash v ...

  2. SQL Server-聚焦APPLY运算符(二十七)

    前言 其实有些新的特性在SQL Server早就已经出现过,但是若非系统的去学习数据库你会发现在实际项目中别人的SQL其实是比较复杂的,其实利用新的SQL Server语法会更加方便和简洁,从本节开始 ...

  3. java中的移位运算符:<<,>>,>>>总结

    java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     右移运算符,num >& ...

  4. 我的MYSQL学习心得(五) 运算符

    我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  5. .NET 基础 一步步 一幕幕[运算符、占位符、转义符]

      运算符.占位符.转义符 好吧,在五局全胜之后,终于升到了三个钻,距离一个星星还有一大段距离,忽然想起来今天的博客还没写,果断坑队友,来写博客了....感觉以后还是每天更新一篇比较好.要不晚上就该熬 ...

  6. ECMASCript2015 提案 stage-3的对象展开运算符

    看源码时看到如下的代码 export default { //通过mapActions将actions映射到methods里 methods: { ...mapActions([ 'updateSta ...

  7. JavaScript权威设计--JavaScript表达式与运算符,语句(简要学习笔记六)

    1.delete是一元操作符,用来删除对象属性或者元素. var a={ x:1, y:2 } delete a.x; //删除x属性 “x”in a //false:a对象中已经不存在x属性 ale ...

  8. JavaScript权威设计--JavaScript表达式与运算符(简要学习笔记五)

    1.3种原始表达式     1.直接量:    1.23    //数字直接量                         “hello”    //字符串直接量                 ...

  9. LINQ to SQL语句(18)之运算符转换

    运算符转换 1.AsEnumerable:将类型转换为泛型 IEnumerable 使用 AsEnumerable<TSource> 可返回类型化为泛型 IEnumerable 的参数.在 ...

  10. El表达式的关系运算符

    El表达式的关系运算符: ==  对应  eq !=   对应  ne >    对应  gt <    对应  It

随机推荐

  1. 为 Jupyter Notebook指定虚拟环境的 Python 解释器

    说明:本机系统为 win10 64 位, base 是集成于 Anaconda3 的 64 位的python,以下是创建虚拟环境 py366-32,安装 3.6.6 版的 32 为python,把 3 ...

  2. 201871020225-牟星源《面向对象程序设计(java)》第四周学习总结

    201871020225-牟星源<面向对象程序设计(java)>第四周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这 ...

  3. django 解析上传xls文件

    1.解析上传数据 class DataUploadAPIView(APIView): # authentication_classes = (JSONWebTokenAuthentication, S ...

  4. Gym - 102056C(2018EC final) -Heretical … Möbius ——CRT

    题意 给出一个长为200的01序列,判断是否在前1e9个莫比乌斯*值中.(这里的莫比乌斯值加了绝对值) 分析 意到因为4的倍数一定是0,9的倍数一定是0……169的倍数一定是0.那么我们可以对4,9, ...

  5. 排序算法-桶排序(Java)

    package com.rao.sort; import java.util.*; /** * @author Srao * @className BucketSort * @date 2019/12 ...

  6. 第05组 Beta冲刺(2/4)

    第05组 Beta冲刺(2/4) 队名:天码行空 组长博客连接 作业博客连接 团队燃尽图(共享): GitHub当日代码/文档签入记录展示(共享): 组员情况: 组员1:卢欢(组长) 过去两天完成了哪 ...

  7. spark基础知识二

    主要围绕spark的底层核心抽象RDD进行理解.主要包括以下几个方面 RDD弹性分布式数据集的概念 RDD弹性分布式数据集的五大属性 RDD弹性分布式数据集的算子操作分类 RDD弹性分布式数据集的算子 ...

  8. TensorFlow实现文本情感分析详解

    http://c.biancheng.net/view/1938.html 前面我们介绍了如何将卷积网络应用于图像.本节将把相似的想法应用于文本. 文本和图像有什么共同之处?乍一看很少.但是,如果将句 ...

  9. PID optimizer

    如何评价PID optimizer? 论文链接:http://www4.comp.polyu.edu.hk/~cslzhang/paper/CVPR18_PID.pdf作者github:https:/ ...

  10. 有趣的js代码

    for ( ; ; ) { window.alert(" ∧_∧ ババババ\n( ・ω・)=つ≡つ\n(っ ≡つ=つ\n`/ )\n(ノΠU\n何回閉じても無駄ですよ-ww\nm9(^Д^) ...