网站首页 > 文章精选 正文
引言
运算符是编程语言中用于执行各种操作的基本构建块。Go 语言提供了丰富的运算符集,可以帮助你执行数学计算、逻辑判断等操作。
1. 算术运算符
- 加法:+ 用于数值相加:示例:c := a + b
- 减法:- 用于数值相减:示例:c := a - b
- 乘法:* 用于数值相乘:示例:c := a * b
- 除法:/ 用于数值相除:示例:c := a / b
- 取模:% 用于求余数:示例:c := a % b
- 自增:++ 用于增加变量的值,示例:i++
- 自减:-- 用于减少变量的值,示例:i--
2. 比较运算符
- 等于:== 用于比较两个值是否相等
- 不等于:!= 用于比较两个值是否不相等
- 大于:> 用于比较左边的值是否大于右边的值
- 小于:< 用于比较左边的值是否小于右边的值
- 大于等于:>= 用于比较左边的值是否大于等于右边的值
- 小于等于:<= 用于比较左边的值是否小于等于右边的值
3. 逻辑运算符
- 逻辑与:&& 用于组合两个布尔表达式,当两个表达式都为真时结果为真
- 逻辑或:|| 用于组合两个布尔表达式,当至少一个表达式为真时结果为真
- 逻辑非:! 用于取反一个布尔值
4. 位运算符
- 按位与:& 用于按位与运算
- 按位或:| 用于按位或运算
- 按位异或:^ 用于按位异或运算
- 按位取反:^ 用于按位取反运算(单独使用时)
- 左移:<< 用于将位向左移动指定的位数
- 右移:>> 用于将位向右移动指定的位数
5. 赋值运算符
- 赋值:= 用于将值赋给变量
- 复合赋值:+=, -=, *=, /=, %= 等用于结合算术运算和赋值
- 示例:x += 1 等价于 x = x + 1
6. 现在编码试一试:
// https://go.dev/play/p/W68w0t7RTQe
package main
import "fmt"
func main() {
// 算术运算符
var x, y int = 10, 5
fmt.Println("x + y =", x+y)
fmt.Println("x - y =", x-y)
fmt.Println("x * y =", x*y)
fmt.Println("x / y =", x/y)
fmt.Println("x % y =", x%y)
// 比较运算符
fmt.Println("x == y =", x == y)
fmt.Println("x != y =", x != y)
fmt.Println("x > y =", x > y)
fmt.Println("x < y =", x < y)
fmt.Println("x >= y =", x >= y)
fmt.Println("x <= y =", x <= y)
// 逻辑运算符
var a, b bool = true, false
fmt.Println("a && b =", a && b)
fmt.Println("a || b =", a || b)
fmt.Println("!a =", !a)
// 位运算符
var m, n uint = 10, 5
fmt.Println("m & n =", m&n)
fmt.Println("m | n =", m|n)
fmt.Println("m ^ n =", m^n)
fmt.Println("^m =", ^m)
fmt.Println("m << 1 =", m<<1)
fmt.Println("n >> 1 =", n>>1)
// 赋值运算符
var z int = 10
z += 5
fmt.Println("z += 5; z =", z)
}
猜你喜欢
- 2025-07-14 Go并发编程之WaitGroup(go语言 并发)
- 2025-07-14 golang企业微信告警(企业微信告警推送)
- 2025-07-14 2.8 Go语言中的for循环,break和continue
- 2025-07-14 Go语言Context包:最常用包之一的使用指南
- 2025-07-14 Go语言零到一:动态数组——切片(go语言的切片)
- 2025-07-14 2025-06-26:转换数组。用go语言,给你一个整数数组 nums,它被视
- 2025-07-14 go sync.Pool简介(go system)
- 2025-07-14 2025-07-13:统计特殊子序列的数目。用go语言,给定一个只包含正
- 2025-07-14 Go语言数据库编程:GORM 的基本使用
- 2025-07-14 2025-06-28:长度可被 K 整除的子数组的最大元素和。用go语言,给
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)
- fmt.println (52)