当前位置: 首页 > news >正文

【Golang】第三弹----运算符

 笔上得来终觉浅,绝知此事要躬行

🔥 个人主页:星云爱编程

🔥 所属专栏:Golang

🌷追光的人,终会万丈光芒  

 🎉欢迎大家点赞👍评论📝收藏⭐文章

  

一、运算符介绍

  • 运算符是一种特殊的符号,用来表示数据的运算,赋值和比较等
  • 运算符分为以下几个大类

(1)算术运算符

(2)赋值运算符

(3)关系运算符

(4)逻辑运算符

(5)位运算符

(6)其他运算符

二、算术运算符

2.1基本介绍

算术运算符是用来对数值类型的变量进行运算的

2.2算术运算符总览

运算符运算
+
-
*
/
%取模
++自增
--自减
+正号
-负号
+字符串拼接

2.3使用细节

 (1)对于除号‘/’有两种用法:

当除号两边全是整数时,则结果也为整数;

当除号两边只要有一边是浮点数,那么结果就是浮点数

(2)用取模符号进行运算时,其本质为a%b=a-a/b*b,故其两边必须是整数

(3)Go的自增自减只能作为一个独立语言使用,且只能写在变量的后面,即只有后置++或后置--

	var i int =10
	a:=i++//编译报错,i++只能单独一句
	b:=i--//同上
if i++>10{   //错误,i++只能单独使用
		fmt.Printf("..")
	}

 三、关系运算符

3.1基本介绍

  • 关系运算符的结果都是布尔型,要么为true,要么为false
  • 关系运算符常在if条件或循环条件中出现

3.2关系运算符总览

运算符运算
==相等于
!=不等于
<小于
>大于
<=小于等于
>=大于等于

3.3使用细节

(1)关系运算符组成的表达式,我们称为关系表达式

(2)关系表达式的结果要么为true,要么为false

(3)==不能写成=,=是赋值

四、逻辑运算符

4.1基本介绍

用于连接多个条件(多个关系表达式),其结果也是bool值

4.2逻辑运算符总览

运算符说明
&&逻辑与
||逻辑或
逻辑非

4.3使用细节

(1)&&:当第一个条件为false时,整个表达式为false,且第二个条件不执行

(2)||:当第一个条件为true时,整个表达式为true,且第二个条件不执行

五、赋值运算符

5.1基本介绍

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

5.2赋值运算符分类

(1)基本赋值运算符:=

(2)复合赋值运算符:+=、-=、*=、/=、%=等

5.3赋值运算符特点

(1)运算顺序从右到左

(2)赋值运算符的左边只能是变量,右边可以是变量、表达式、常量值

(3)复合赋值运算符等价于下面的效果,如:a+=3等价于a=a+3

5.4例题

有两个变量a,b,要求对其进行交换,但是不允许使用中间变量,最终打印结果

示例:

func main(){
	a:=5
	b:=3
	//交换
	a=a^b
	b=a^b
	a=a^b
	fmt.Printf("交换后:a=%v,b=%v",a,b)
}

六、位运算符

 Go中有 6个位运算(&、|、^、&^、<<、>>)。

(1)按位与&:两位全为1,结果才为1;

(2)按位或|:只要有一个1,结果就为1;

(3)按位异或^:相同为0,相异为1;

(4)按位清除&^:等价于x&(^y),将y的二进制位为1的位置清除为0

(5)左移<<:符号位不变,低位补0,相当于乘2;

(6)右移 >>:低位溢出,符号位不变,并用符号位补溢出的高位;

注意:

位运算是指二进制位。

七、运算符优先级

  • 一元运算符优先级最高
  • 乘除优先级高于加减
  • 位运算符优先级低于算术运算符,但高于比较运算符
  • 比较运算符优先级高于逻辑运算符
  • 赋值运算符优先级最低,但高于逗号, 

结语

感谢您的耐心阅读,希望这篇博客能够为您带来新的视角和启发。如果您觉得内容有价值,不妨动动手指,给个赞👍,让更多的朋友看到。同时,点击关注🔔,不错过我们的每一次精彩分享。若想随时回顾这些知识点,别忘了收藏⭐,让知识触手可及。您的支持是我们前进的动力,期待与您在下一次分享中相遇!

路漫漫其修远兮,吾将上下而求索。

相关文章:

  • 数据类设计_图片类设计之3_半规则图类设计(前端架构基础)
  • 【贪心算法4】
  • AI 变革药物研发:深势科技的云原生实践之路
  • 【每日学点HarmonyOS Next知识】tab拦截、组件方法做参数、自定义组件链式调用、多次观察者监听、横竖屏切换
  • C++20中的`std::endian`:深入理解大端/小端/本地字节序
  • wps word 正文部分段前段后间距调整无用
  • halcon机器人视觉(四)calibrate_hand_eye_stationary_3d_sensor
  • Pytorch系列教程:可视化Pytorch模型训练过程
  • 【WRF-Urban】报错解析:ZDC + Z0C + 2m is larger than the 1st WRF level
  • react实现一个列表的拖拽排序(react实现拖拽)
  • 如何在DBeaverSQL执行界面显示行号
  • 力扣hot100_二叉树
  • 【JavaWeb】快速入门——HTMLCSS
  • 机器人领域专业名词汇总
  • C++学习——顺序表(六)
  • 【探秘机器人:从当下到未来的科技跃迁】
  • 理解 Retrofit 请求头与 GsonConverterFactory 的自动处理机制
  • 关于ant-design-vue中input元素disabled后无法选中复制内容
  • SNIPAR:快速实现亲缘个体的基因型分离与推断
  • Linly-Talker:开源数字人框架的技术解析与影响
  • 广告设计软件哪个好用/处理事件seo软件
  • 西安西郊网站建设/百度题库
  • 苏州seo/谷歌seo培训
  • 移动端网页设计图片/seo顾问阿亮
  • 网站建设教程网/免费浏览网站推广
  • 系统下载网站源码/营销型网站开发公司