【golang学习笔记1.5】 golang中的运算符

运算符简介

运算符是一种特殊的符号,用来表示数据的运算、赋值和比较等 我们通常将运算符分为一下几大类

1. 算术运算符

算术运算符一般是对数值类型的变量进行加减乘除等运算的

运算符 运算 例子 结果
+ 正号 +2 2
- 负号 -2 -2
+ 加号 2+2 4
- 负号 4-2 2
* 乘号 4*2 8
/ 除号 4/2 2
% 取模|取余 9%2 1
++ 自增 var a=1 a++ a=2
- - 自减 var a=2 a- - a=1
+ 字符串相加|字符串拼接 “abc”+“defg” “abcdefg”

使用时注意事项

  1. 对于除号/,它的整数除和小数除是有区别的;整数之间做除法时,只保留整数时部分而舍弃小数部分。不会进行四舍五入等。例:x:=50/9 结果是5
  2. 当对于一个数取模时可以等价于a%b=a-a/b*b
  3. 对于++和–来说只能独立运算;不能a:=b++或者b:=a-- ;也不能写在变量的前面只能是a++或者b–;而不能++a或者–b

2. 赋值运算符

赋值运算就是将某个运算后的值赋给指定的变量

运算符 运算 例子 解释
= 简单的赋值 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

3. 比较运算符|关系运算符

关系运算符的结果都是bool型;要么是true要么是false

运算符 运算 例子 结果
== 相等 5==5 true
!= 不等于 5==5 true
> 大于 5>5 false
< 小于 5<5 false
>= 大于等于 100>=5 true
<= 小于等于 5<=100 true

4. 逻辑运算符

一般用于连接多个条件(关系表达式),最终的结果也是bool型

运算符 运算 例子 结果 解释
&& 并且 a==b&&c==d true 俩边都成立才是true 如果有一边不成立结果为fasle
|| 或者 a==c||b==d true 俩边有一个成立则等式成立返回true;如果俩边都不成立;结果为fasle
! a==2 !a false 判断前结果为true 非后结果为fasel反之亦然

代码里面在解释一下

package main

import "fmt"

func main(){
   var a int=10
   var b int=20
   var c int=10
   var d int=40

   f:= a==c &&b==d
   //&&俩边结果都为true 才返回true; 其中有一个为fasle 那么结果也为fasle 
   fmt.Printf("f: %v\n", f)//结果为fasle
   f=a==c||b==d
   //||俩边结果中有一个为true 其结果返回true; 都为fasle 那么结果也为fasle 
   fmt.Printf("f: %v\n", f)//结果为true
   var e bool=true
   f=!e
   //!前结果为true;那么!后结果为fasle;反之亦然;取反的意思
   fmt.Printf("f: %v\n", f)//结果为fasle
}

5. 位运算符

运算符 运算 解释
& 按位与 俩位全为1,结果为1,否则为0
| 按位或 俩位有一个为1,结果为1,否则为0
^ 按位异或 俩位一个为0一个为1,结果为1,否则为0
<< 右移运算符 低位溢出,符号位不变,并用符号位补溢出的高位
>> 左移运算符 符号不变,低位补0

6. 其他运算符

运算符 运算 解释
& 返回变量的地址 &a 将返回变量a的地址
* 指针变量 *a,声明一个指针变量

go中得流程控制注意事项

  • 对if 的使用
//if的使用
 if a:=20;a==20{
     fmt.Printf("a: 我还可以这样使用%v\n", a)
 }
  • switch的使用
1. case 后是一个表达式【常量,变量,一个有返回值的函数等都可以】
2. case 后的各个表达式数据类型必须和switch的表达式数据类型一致
3. case 后面的表达式如果是常量值,则要求不能重复
4. case 后面的可以带多个表达式,使用逗号分隔
5. case 后面不需要跟着break,程序默认是自己添加了break
6. default 不是必须的 请注意使用

你可能感兴趣的:(golang学习笔记,学习)