Go学习笔记之运算符号

算数运算符

运算符 描述
+ 相加
- 相减
* 相乘
/ 相除
% 求余
++ 自增
-- 自减

代码示例:

go 复制代码
package main

import "fmt"

func main() {
	// 算数运算符
	a := 1
	b := 2
	fmt.Println(a + b) // 加 3
	fmt.Println(a - b) // 减 -1
	fmt.Println(a * b) // 乘 2
	fmt.Println(a / b) // 除 0
	fmt.Println(a % b) // 取余 1
	// 自增与自减
	a++               // a = a + 1
	b--               // b = b - 1
	fmt.Println(a, b) // 2 1
}

注意:在golang中,自增与自减只能独立使用,错误写法如下:

go 复制代码
var i = 8
var a int 
a = i++ //错误,i++只能独立使用
a = i-- //错误,i--只能独立使用

注意:在golang中没有前++,错误写法如下:

go 复制代码
var i = 1
++i //错误,在golang中没有前++
--i //错误,在golang中没有前--

关系运算符

运算符 说明
== 检查两个值是否相等
!= 检查两个值是否不相等
> 检查左边值是否大于右边值
>= 检查左边值是否大于等于右边值
< 检查左边值是否小于右边值
<= 检查左边值是否小于等于右边值

代码示例:

go 复制代码
package main

import "fmt"

func main() {
	a := 3
	b := 4
	fmt.Println(a == b) // false
	fmt.Println(a != b) // true
	fmt.Println(a < b)  // true
	fmt.Println(a <= b) // true
	fmt.Println(a > b)  // false
	fmt.Println(a >= b) // false
}

逻辑运算符

符号 描述
&& 逻辑AND 如果两边操作都是True,则为True,否则为False
|| 逻辑OR 如果两边操作数有一个True 则为True,否则为False
逻辑NOT 如果条件为True,则为False,否则为True

代码示例:

go 复制代码
package main

import "fmt"

func main() {
	// 逻辑运算符
	var a = 10
	var b = 20
	fmt.Println(a > 10 && b < 30) //false
	fmt.Println(a > 10 || b < 30) //true
	fmt.Println(!(a > 10))        //true
}

赋值运算符

运算符 描述
= 简单的赋值运算符,将一个表达式的值赋给一个左值
+= 相加后再赋值
-= 相减后再赋值
*= 相乘后再赋值
/= 相除后再赋值
%= 取余后再赋值

代码示例:

go 复制代码
package main

import "fmt"

func main() {
	// 赋值运算符
	var a = 10
	a += 9
	fmt.Println(a) // 19
	a -= 8
	fmt.Println(a) // 11
	a *= 7
	fmt.Println(a) // 77
	a /= 6
	fmt.Println(a) // 12
	a %= 5
	fmt.Println(a) // 2
}

相关推荐
njsgcs4 分钟前
ParaCAD 笔记 png 图纸标注数据集
笔记
Andy杨7 分钟前
20250710-2-Kubernetes 集群部署、配置和验证-网络组件存在的意义?_笔记
网络·笔记·kubernetes
qq_386322691 小时前
华为网路设备学习-26(BGP协议 一)
学习
DKPT1 小时前
Java设计模式之行为型模式(责任链模式)介绍与说明
java·笔记·学习·观察者模式·设计模式
L_autinue_Star2 小时前
手写vector容器:C++模板实战指南(从0到1掌握泛型编程)
java·c语言·开发语言·c++·学习·stl
崔高杰2 小时前
微调性能赶不上提示工程怎么办?Can Gradient Descent Simulate Prompting?——论文阅读笔记
论文阅读·人工智能·笔记·语言模型
KhalilRuan3 小时前
Unity Demo——3D平台跳跃游戏笔记
笔记·游戏·unity·游戏引擎
AI360labs_atyun3 小时前
Java在AI时代的演进与应用:一个务实的视角
java·开发语言·人工智能·科技·学习·ai
绿蚁新亭3 小时前
Spring的事务控制——学习历程
数据库·学习·spring
mozun20204 小时前
激光雷达学习-信噪比SNR与信背比SBR2025.7.11
学习·目标检测·信号处理·信噪比·弱小目标检测·信背比