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

ops/2025/3/15 6:01:15/

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

🔥 个人主页:星云爱编程

🔥 所属专栏: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 =10a:=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:=5b:=3//交换a=a^bb=a^ba=a^bfmt.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)右移 >>:低位溢出,符号位不变,并用符号位补溢出的高位;

注意:

位运算是指二进制位。

七、运算符优先级

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

结语

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

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


http://www.ppmy.cn/ops/165867.html

相关文章

【sql靶场】第11、12关-post提交注入

目录 【sql靶场】第11、12关-post提交注入 POST 一、URL 二、核心组成部分 三、数据编码规范 四、应用场景与请求方法 第十一关 方法一 步骤一 步骤二 步骤三 步骤四 步骤五 步骤六 步骤七 方法二 步骤一 步骤二 步骤三 步骤四 步骤五 步骤六 步骤七 第…

JVM和运行时数据区

目录 运行时数据区 元空间 Java 虚拟机栈 java 堆 程序计数器 本地方法栈 JVM JVM是Java Virtual Machine的简称&#xff0c;是java程序的运行环境&#xff08;二进制字节码的运行环境&#xff09;。主要由三个子系统构成&#xff0c;分别是类加载子系统、运行时数据区和…

QT创建项目(项目模板、构建系统、选择类、构建套件)

1. 项目模版 项目类型界面技术适用场景核心依赖模块开发语言Qt Widget ApplicationC Widgets传统桌面应用&#xff08;复杂控件&#xff09;Qt WidgetsCQt Console Application无 GUI命令行工具、服务Qt CoreCQt Quick ApplicationQML/Quick现代跨平台应用&#xff08;动画/触…

K8S学习之基础二十八:k8s中的configMap

k8s中的configMap ​ configMap是k8s的资源对象&#xff0c;简称cm&#xff0c;用于保存非机密性的配置&#xff0c;数据可以用key/value键值对形式保存&#xff0c;也可以通过文件形式保存 ​ 在部署服务的时候&#xff0c;每个服务都有自己的配置文件&#xff0c;如果一台服…

python多线程和多进程——使用 concurrent.futures.ProcessPoolExecutor 和 ThreadPoolExecutor

在使用 concurrent.futures.ProcessPoolExecutor 和 ThreadPoolExecutor 时&#xff0c;如果你不指定 max_workers 参数&#xff0c;Python 会根据系统资源和任务类型自动选择一个合理的默认值。以下是关于这两个执行器的默认行为的详细说明&#xff1a; ProcessPoolExecutor …

深度学习篇---Opencv中的Haar级联分类器

文章目录 1.Haar 级联分类器配置文件的结构2.OpenCV 自带的 Haar 级联分类器配置文件2.1人脸检测2.1.1haarcascade_frontalface_default.xml2.1.2haarcascade_frontalface_alt.xml2.1.3haarcascade_frontalface_alt2.xml2.1.4haarcascade_frontalface_alt_tree.xml 2.2眼睛检测…

【Deepseek基础篇】--v3基本架构

目录 MOE参数 1.基本架构 1.1. Multi-Head Latent Attention多头潜在注意力 1.2.无辅助损失负载均衡的 DeepSeekMoE 2.多标记预测 2.1. MTP 模块 论文地址&#xff1a;https://arxiv.org/pdf/2412.19437 DeepSeek-V3 是一款采用 Mixture-of-Experts&#xff08;MoE&…

【数据结构】-哈夫曼树以及其应用

哈夫曼树&#xff08;Huffman Tree&#xff09; 1. 哈夫曼树的定义 哈夫曼树&#xff08;Huffman Tree&#xff09;是一种 带权路径长度最短的二叉树&#xff0c;常用于数据压缩和最优前缀编码。其目标是使得 带权路径长度&#xff08;WPL&#xff09;最小。 在信息论和计算…