9.4 Go语言入门(运算符)
Go语言入门(运算符)
- 目录
- 三、运算符
- 1. 算术运算符
- 2. 关系运算符
- 3. 逻辑运算符
- 4. 位运算符
- 5. 赋值运算符
- 6. 其他运算符
- 7. 运算符优先级
目录
Go 语言(Golang)是一种静态类型、编译型语言,由 Google 开发,专注于简洁性、并发和高效性。
下面是 Go 语言的基础语法讲解和代码示例。
上一篇:二、Go语言入门(变量声明和函数调用)
三、运算符
在 Go 语言中,运算符是用于执行各种操作的符号或关键字。运算符可以用于数值计算、比较操作、逻辑运算、位操作等。
1. 算术运算符
算术运算符用于执行基本的数学运算。
+:加法-:减法*:乘法/:除法%:取模
package mainimport "fmt"func main() {a := 10b := 3fmt.Println("a + b =", a + b) // 输出:13fmt.Println("a - b =", a - b) // 输出:7fmt.Println("a * b =", a * b) // 输出:30fmt.Println("a / b =", a / b) // 输出:3fmt.Println("a % b =", a % b) // 输出:1
}
2. 关系运算符
关系运算符用于比较两个值,返回布尔值。
==:等于!=:不等于>:大于<:小于>=:大于等于<=:小于等于
package mainimport "fmt"func main() {a := 10b := 20fmt.Println("a == b:", a == b) // 输出:falsefmt.Println("a != b:", a != b) // 输出:truefmt.Println("a > b:", a > b) // 输出:falsefmt.Println("a < b:", a < b) // 输出:truefmt.Println("a >= b:", a >= b) // 输出:falsefmt.Println("a <= b:", a <= b) // 输出:true
}
3. 逻辑运算符
逻辑运算符用于连接布尔表达式。
&&:逻辑与(AND)||:逻辑或(OR)!:逻辑非(NOT)
package mainimport "fmt"func main() {a := trueb := falsefmt.Println("a && b:", a && b) // 输出:falsefmt.Println("a || b:", a || b) // 输出:truefmt.Println("!a:", !a) // 输出:falsefmt.Println("!b:", !b) // 输出:true
}
4. 位运算符
位运算符用于对整数类型的位进行操作。
&:按位与|:按位或^:按位异或&^:按位清除(AND NOT)<<:左移>>:右移
package mainimport "fmt"func main() {a := 10 // 二进制:1010b := 3 // 二进制:0011fmt.Println("a & b:", a & b) // 输出:2 (二进制:0010)fmt.Println("a | b:", a | b) // 输出:11 (二进制:1011)fmt.Println("a ^ b:", a ^ b) // 输出:9 (二进制:1001)fmt.Println("a &^ b:", a &^ b) // 输出:8 (二进制:1000)fmt.Println("a << 1:", a << 1) // 输出:20 (二进制:10100)fmt.Println("a >> 1:", a >> 1) // 输出:5 (二进制:0101)
}
5. 赋值运算符
赋值运算符用于给变量赋值。
=:赋值+=:加法赋值-=:减法赋值*=:乘法赋值/=:除法赋值%=:取模赋值<<=:左移赋值>>=:右移赋值&=:按位与赋值|=:按位或赋值^=:按位异或赋值&^=:按位清除赋值
package mainimport "fmt"func main() {var a int = 10a += 5 // 相当于 a = a + 5fmt.Println("a += 5:", a) // 输出:15a -= 3 // 相当于 a = a - 3fmt.Println("a -= 3:", a) // 输出:12a *= 2 // 相当于 a = a * 2fmt.Println("a *= 2:", a) // 输出:24a /= 4 // 相当于 a = a / 4fmt.Println("a /= 4:", a) // 输出:6a %= 3 // 相当于 a = a % 3fmt.Println("a %= 3:", a) // 输出:0a = 8a <<= 1 // 相当于 a = a << 1fmt.Println("a <<= 1:", a) // 输出:16a >>= 2 // 相当于 a = a >> 2fmt.Println("a >>= 2:", a) // 输出:4a &= 3 // 相当于 a = a & 3fmt.Println("a &= 3:", a) // 输出:0a |= 2 // 相当于 a = a | 2fmt.Println("a |= 2:", a) // 输出:2a ^= 3 // 相当于 a = a ^ 3fmt.Println("a ^= 3:", a) // 输出:1a &^= 2 // 相当于 a = a &^ 2fmt.Println("a &^= 2:", a) // 输出:1
}
6. 其他运算符
赋值运算符用于给变量赋值。
&:取地址*:指针运算符
package mainimport "fmt"func main() {a := 10p := &a // 取地址fmt.Println("Address of a:", p)fmt.Println("Value of *p:", *p) // 解引用
}
7. 运算符优先级
运算符的优先级决定了它们在表达式中计算的顺序。高优先级的运算符在低优先级的运算符之前执行。运算符的优先级如下,从高到低:
*/%<<>>&&^+-|^==!=<<=>>=&&||
可以使用括号
()来显式地指定计算顺序。
package mainimport "fmt"func main() {a := 10b := 3c := 2result := a + b * c // 等同于 a + (b * c)fmt.Println(result) // 输出:16result = (a + b) * cfmt.Println(result) // 输出:26
}
通过理解和掌握这些运算符及其使用方法,可以有效地编写和调试 Go 语言代码。
下一篇:四、Go语言入门(条件语句和循环语句)

相关文章:
9.4 Go语言入门(运算符)
Go语言入门(运算符) 目录三、运算符1. 算术运算符2. 关系运算符3. 逻辑运算符4. 位运算符5. 赋值运算符6. 其他运算符7. 运算符优先级 目录 Go 语言(Golang)是一种静态类型、编译型语言,由 Google 开发,专注…...
CLIP 源码分析:simple_tokenizer.py
tokenizer的含义 from .clip import *引入头文件时为什么有个. 正文 import gzip import html import os from functools import lru_cacheimport ftfy import regex as re# 上面的都是头文件# 这段代码定义了一个函数 default_bpe(),它使用了装饰器 lru_cache()。…...
AWS安全性身份和合规性之Shield
shield:盾(牌);(保护机器和操作者的)护罩,防护屏,挡板;屏障;保护物;(警察的)盾形徽章;保护人;掩护物;盾形纹徽;盾形奖牌; AWS Shield是一项AWS托管的DDoS(Distributed Denial of Service,分布式…...
Midjourney入门篇 | 打造最逼真的照片(强烈推荐)
强烈推荐:如何用Midjourney打造最逼真的照片(提示词汇总) 前言1、逼真照片生成公式2、提示词速查表 总结 前言 今天分享一个系统的入门级Midjourney制图教程:涵盖了最基础的绘画概念及提示词,精选了一些重要的提示词&…...
【运维自动化-配置平台】如何跨业务转移主机
在如何创建业务拓扑中,了解到业务是蓝鲸体系重要的资源管理纬度,主机在业务之前需要流转怎么做呢?比如要把A业务一台主机划给B业务使用权限中心 跨业务转移主机一般场景是由源主机所在业务的负责人发起,需要申请目标业务的相关权…...
connection problem,giving up
参考: https://zhuanlan.zhihu.com/p/93438433 仅仅安装 sudo apt-get install xrdp 在用RDP远程的时候总是卡在登录界面,connection problem,giving up, some problem… 第一步: sudo apt-get install xserver-xorg-core sudo…...
Linux-----sed案例练习
1.数据准备 准备数据如下: [rootopenEuler ~]# cat openlab.txt My name is jock. I teach linux. I like play computer game. My qq is 24523452 My website is http://www.xianoupeng.com My website is http://www.xianoupeng.com My website is http://www.…...
【华为OD机试-C卷D卷-200分】运输时间(C++/Java/Python)
【华为OD机试】-(A卷+B卷+C卷+D卷)-2024真题合集目录 【华为OD机试】-(C卷+D卷)-2024最新真题目录 题目描述 M(1 ≤ M ≤ 20)辆车需要在一条不能超车的单行道到达终点,起点到终点的距离为 N(1 ≤ N ≤ 400)。速度快的车追上前车后,只能以前车的速度继续行驶,求最后一…...
flink程序本地运行报: A JNI error has occurred和java.lang.NoClassDefFoundError
1.问题描述 在idea中运行flink job程序出现如下错误: Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/flink/api/common/io/FileInputFormat …...
yolox-何为EMA?
何为EMA? 定义: 滑动平均/指数加权平均:用来估计变量的局部均值,使得变量的更新与一段时间内的历史取值有关,滑动平均可以看作是变量的过去一段时间取值的均值。 优点: 相比于直接赋值,滑动平均…...
Java:String、StringBuffer和StringBuilder的区别
参考: https://blog.csdn.net/kingzone_2008/article/details/9220691 https://blog.csdn.net/itchuxuezhe_yang/article/details/89966303 String 常量字符串,每次修改都是会新创建一个字符串,当要频繁修改字符串的时候不建议使用 String S…...
虚拟化技术 分布式资源调度
一、实验内容 实现分布式资源调度 二、实验主要仪器设备及材料 安装有64位Windows操作系统的台式电脑或笔记本电脑,建议4C8G或以上配置已安装VMware Workstation Pro已安装Windows Server 2008 R2 x64已安装vCenter Server 三、实验步骤 将主机esxi1和esxi2加入…...
【Element-plus】vue组合式中使用el-upload通过oss接口上传图片流程(可直接复制使用)
Html <el-upload:actionossUrl:on-success"handleImgSuccess":headers"{Authorization:token}"><el-icon><Plus /></el-icon>点击上传图片</el-upload> JS const ossUrl ref("") ossUrl.value 【你的ossUrl】…...
C++ 数据结构算法 学习笔记(33) -查找算法及企业级应用
C 数据结构算法 学习笔记(33) -查找算法及企业级应用 数组和索引 日常生活中,我们经常会在电话号码簿中查阅“某人”的电话号码,按姓查询或者按字母排 序查询;在字典中查阅“某个词”的读音和含义等等。在这里,“电话号码簿”和…...
【Linux】在Ubuntu 16.04上安装Gerrit + PostgreSQL + Apache服务
Gerrit是一个基于Git版本控制系统的运行于Web浏览器上的Code Review工具,本文叙述如何在Ubuntu 16.04上安装Gerrit服务。(当然安装Gerrit的方法有很多,本文只是其中之一) 文章目录 前提安装PostgreSQL数据库并创建用户下载、配置和…...
数据倾斜那些事儿
目录 一、什么是数据倾斜? 二、预判与预防 三、躲闪策略 四、硬刚策略 一、什么是数据倾斜? 之前在大厂当了好几年的sqlboy,数据倾斜这个“小烦人精”确实经常在工作中出没。用简单的话来说,数据倾斜就像是“贫富差距”在数据…...
python考试成绩管理与分析:从列表到方差
新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、考试成绩的输入与列表管理 二、成绩的总分与平均成绩计算 三、成绩方差的计算 四、成…...
Excel某列中有不连续的数据,怎么提取数据到新的列?
这里演示使用高级筛选的例子: 1.设置筛选条件 在D2单元格输入公式:COUNTA(A4)>0 这里有两个注意事项: *. 公式是设置在D2单元格,D1单元格保持为空, **. 为什么公式中选A4单元格,A列的第一个数据在A3…...
翻译《The Old New Thing》- What does it mean when a display change is temporary?
What does it mean when a display change is temporary? - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20080104-00/?p23923 Raymond Chen 2008年01月04日 什么叫临时性的显示设置变更? 当您调用ChangeDisplaySettings函数时…...
【C语言】char,short char,long char分别是多少字节,多少位,多少bit
一,char,short char,long char分别是多少字节 在 C 语言中,char、short、int、long 这些数据类型的大小是平台相关的,它们的大小取决于编译器和操作系统的实现。然而,它们的大小通常遵循以下规则ÿ…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...
