golang 运算符

文章目录

    • 1.运算符
      • 1.介绍
    • 2.算数运算符
    • 3.关系运算符
    • 4.逻辑运算符
    • 5.位运算符
    • 6.移位运算符
    • 7.赋值运算
    • 8.其他运算符
    • 9.特别说明
    • 10.运算符的优先级
    • 跳转

1.运算符

1.介绍

  • 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等
算数、
赋值、
比较/关系、
逻辑、
位、
其他运算符

2.算数运算符

  • 对数值类型的变量进行运算
运算符          运算
+             正号、字符串相加、加
-             负号/*/(取整)                       (整数之间相除,取整,小数会舍去,)
%             求余(取模)                     (取余数,小数会舍去)
++            自增                      只能单独使用,只用i++,而且++只能放在后面
--            自减                      只能单独使用,只用i--,而且--只能放在后面

=======================================================================
i = i++  // 错误用法,i++ 只能单独使用

3.关系运算符

  1. 又叫比较运算符,
  2. 关系运算符: 结果是bool型,不是true就是false
  3. 关系运算式:
    • 关系运算符组成的表达式,
    • 用在 if 结构结构条件中或者循环结构条件中
    • 又叫关系表达式
  4. 结果是:bool类型,不是true就是false
运算符        运算
 ==          相等
 !=         不等
 <           小于
 >           大于
 <=          小于等于
 >=          大于等于

4.逻辑运算符

  • 用于连接多个条件(一般来讲就是关系表达式),
  • 结果:一个bool值
运算符                 运算
&&                    逻辑与,两边均为真,才是真              短路与,第一个条件为假,第二个就不会执行
||                    逻辑或,一个为真就是真                  短路或,第一个条件为真,第二个就不会执行
|                     逻辑非, 条件是true,则逻辑为false   

5.位运算符

在计算机运算的时候,都是以补码的方式来运算的

运算符         运算
&         按位与  双目运算,功能是参与运算的两位数各对应的二进制相与,规则:同时为1,结果为1
|         按位或  双目运算,功能是参与运算的两位数各对应的二进制相或,规则:一个位1,结果为1
^         按位非  双目运算,功能是参与运算的两位数各对应的二进制相非。规则:二进位不同,结果为1

6.移位运算符

<<        左位    双目运算,把<<左侧的运算数的各二进位全部左移若干位,高位丢去,低位补0,左移n位就是乘以2的n次方
>>        右移    双目运算,把>>左侧的运算数的各二进制全部右移若干位,右移n位就是除以2的n次方

// 备注:就把二进制的补码,被冻结成尺子,让整个尺子进行》箭头的方向移动,对,就是整体移动
1.右移运算符:低位溢出,符号位不变,并用符号位补溢出的高位
2.左移运算符:符号位不变,低位补0

7.赋值运算

  • 运算顺序从左到右
  • 赋值运算左边——>只能是变量,右边随意
  • 赋值运算符就是将某个运算后的值,赋给指定的变量。
运算符      运算
=           简单的赋值运算
+=          相加后再赋值
-=          相减后再赋值
*=          相见后再赋值
/=          相减后再赋值
%=          取余后再赋值

二进制赋值

运算符          运算
<<=            左移后赋值
>>=            右移后赋值
&=             按位与后赋值
^=             按位异后赋值
!=            按位或后赋值

8.其他运算符

运算符       运算
&          返回变量储存地址(给出变量的实际地址)
*          指针变量       (一个指针变量)

9.特别说明

  • go语言明确说明不支持三元运算

10.运算符的优先级

  • 运算符:是用来在程序运行时执行数学或逻辑运算的
  • 优先级:就是当多个运算符出现在同一个表达式中时,先执行哪个运算符。
  • Go语言中大部分运算符的优先级和数学中是一样的,
  • 推荐使用 括号
优先级 分类 运算符 结合性
1 逗号运算符 , 从左到右
2 赋值运算符 =、+=、-=、*=、/=、 %=、 >=、 <<=、&=、^=、|= 从右到左
3 逻辑或 || 从左到右
4 逻辑与 && 从左到右
5 按位或 | 从左到右
6 按位异或 ^ 从左到右
7 按位与 & 从左到右
8 相等/不等 ==、!= 从左到右
9 关系运算符 <、<=、>、>= 从左到右
10 位移运算符 <<、>> 从左到右
11 加法/减法 +、- 从左到右
12 乘法/除法/取余 *(乘号)、/、% 从左到右
13 单目运算符 !、*(指针)、& 、++、–、+(正号)、-(负号) 从右到左
14 后缀运算符 ( )、[ ]、-> 从左到右

注意:

  • 优先级级别越大的,先运算,记不住的就加括号
  • 计算顺序从右到左的只有两个:赋值运算符、单目运算符

大概运算符

  1. 括号,++,–
  2. 单目运算
  3. 算数运算符
  4. 移位运算
  5. 关系运算符
  6. 位运算符
  7. 逻辑运算符
  8. 赋值运算符
  9. 逗号

跳转

  • golang知识库总结
  • golang 数据类型

你可能感兴趣的:(golang)