Go 语言中的内置运算符
1. 算术运算符
注意: ++(自增)和--(自减)在 Go 语言中是单独的语句,并不是运算符。
package mainimport "fmt"func main() {fmt.Println("10+3=", 10+3) // 13fmt.Println("10-3=", 10-3) // 7fmt.Println("10*3=", 10*3) // 30// 除法注意:如果运算的数都是整数,那么除后,去掉小数部分,保留整数部分fmt.Println("10/3=", 10/3) // 3fmt.Println("10.0/3=", 10.0/3) // 3.3333333333333335// 取余注意 余数=被除数-(被除数/除数)*除数fmt.Println("10%3=", 10%3) // 1fmt.Println("-10%3=", -10%3) // -1fmt.Println("10%-3=", 10%-3) // 1fmt.Println("-10%-3=", -10%-3) // -1}
注意:在 golang 中,++ 和 -- 只能独立使用,错误写法如下:
var i int = 8
var a int
a = i++ //错误,i++只能独立使用
a = i-- //错误, i--只能独立使用
注意:在 golang 中没有前++ 和前--,错误写法如下:
var i int = 1
++i // 错误,在 golang 没有 前++
--i // 错误,在 golang 没有 前--
fmt.Println("i=", i)
2. 关系运算符
示例代码如下:
package main
import "fmt"func main() {var a1 = 9var a2 = 8fmt.Println(a1 == a2) // falsefmt.Println(a1 != a2) // truefmt.Println(a1 > a2) // truefmt.Println(a1 >= a2) // truefmt.Println(a1 < a2) // flasefmt.Println(a1 <= a2) // flaseflag := a1 > a2fmt.Println("flag=", flag) // flag=truevar a3 = 9var a4 = 14flag := a3 > a4if flag {fmt.Println("a3>a4") // a3>a4}var a5 = 9var a6 = 8if a5 == a6 {fmt.Println("a4=a6") } else {fmt.Println("a5!=a6") // a5!=a6}}
3. 逻辑运算符
package main
import ("fmt")
func main() {var age int = 40// 演示逻辑运算符的使用 &&if age > 30 && age < 50 {fmt.Println("ok1") // ok1}if age > 30 && age < 40 {fmt.Println("ok2")}// 演示逻辑运算符的使用 ||if age > 30 || age < 50 {fmt.Println("ok3") // ok3}if age > 30 || age < 40 {fmt.Println("ok4") // ok4}// 演示逻辑运算符的使用 !if age > 30 {fmt.Println("ok5") // ok5}if !(age > 30) {fmt.Println("ok6")}
}
逻辑运算符短路演示:
package main
import ( "fmt")
func test() bool {fmt.Println("test...")return true
}
func main() {var i int = 10if i < 9 && test() {fmt.Println("ok...")}if i > 9 || test() {fmt.Println("hello...")}
}
4. 赋值运算符
package main
import "fmt"
func main() {var a = 10a += 3 fmt.Println(a) // 13var b = 10b -= 3 fmt.Println(b) // 7var c = 10c *= 3 fmt.Println(c) // 30var d = 10d /= 3 fmt.Println(d) // 3var e float64 = 10e /= 3 fmt.Println(e) // 3.3333333333333335var f = 10f %= 3 fmt.Println(f) // 1}
5. 位运算符
位运算符对整数在内存中的二进制位进行操作。
package mainimport "fmt"func main() {var a int = 5 // 101var b int = 2 // 010fmt.Println("a&b=", a&b) // 000 (值 0)fmt.Println("a|b=", a|b) // 111 (值 7)fmt.Println("a^b=", a^b) // 111 (值 7)fmt.Println("5>>2=", a>>b) // 1 (5右移2位)fmt.Println("5>>1=", 5>>1) // 10 (5右移1位)fmt.Println("7>>2=", 7>>2) // 1 (7右移1位)fmt.Println("5<<2=", a<<b) // 10100 (5左移2位)fmt.Println("5<<1=", 5<<1) // 1010 (5左移1位)}
6. 运算符练习
1. 练习:有两个变量a和b,要求将其进行交换,最终打印结果。
package main
import "fmt"
func main() {var a = 34var b = 10t := a // t=34a = b // a=10b = t // b=34fmt.Printf("a=%v b=%v", a, b)}
2. 练习:有两个变量a和b,要求将其进行交换,不能使用中间变量,最终打印结果。
package main
import "fmt"
func main() {var a = 34var b = 10a = a + b // a=34+10 =>44b = a - b // b=34+10-10=>34a = a - b // a=(34+10)-(34+10-10)=>10fmt.Printf("a=%v b=%v", a, b)}
3. 练习:假如还有100天放假,问:多少个星期零多少天。
package main
import "fmt"
func main() {var days = 100var week = days / 7var day = days % 7fmt.Printf("距离放假还有%v周零%v天", week, day)}
4. 练习:定义一个变量保存华氏温度,请求出华氏温度对应的摄氏温度。
华氏温度转换摄氏温度的公式为:C=(F-32)÷1.8,摄氏温标(°C)和华氏温标(°F)
package main
import "fmt"
func main() {var F float32 = 100 // 华氏温度C := (F - 32) / 1.8fmt.Printf("华氏温度对应的摄氏温度是%.2f", C)
}
相关文章:

Go 语言中的内置运算符
1. 算术运算符 注意: (自增)和--(自减)在 Go 语言中是单独的语句,并不是运算符。 package mainimport "fmt"func main() {fmt.Println("103", 103) // 13fmt.Println("10-3…...
Spring Boot 中实现 HTTPS 加密通信及常见问题排查指南
Spring Boot 中实现 HTTPS 加密通信及常见问题排查指南 在金融行业安全审计中,未启用HTTPS的Web应用被列为高危漏洞。通过正确配置HTTPS,可将中间人攻击风险降低98%——本文将全面解析Spring Boot中HTTPS的实现方案与实战避坑指南。 一、HTTPS 核心原理与…...
项目研究:使用 LangGraph 构建智能客服代理
概述 本教程展示了如何使用 LangGraph 构建一个智能客服代理。LangGraph 是一个强大的工具,可用于构建复杂的语言模型工作流。该代理可以自动分类用户问题、分析情绪,并根据需要生成回应或升级处理。 背景动机 在当今节奏飞快的商业环境中,…...

JS面试常见问题——数据类型篇
这几周在进行系统的复习,这一篇来说一下自己复习的JS数据结构的常见面试题中比较重要的一部分 文章目录 一、JavaScript有哪些数据类型二、数据类型检测的方法1. typeof2. instanceof3. constructor4. Object.prototype.toString.call()5. type null会被判断为Obje…...
创客匠人:如何通过创始人IP打造实现知识变现与IP变现的长效增长?
在流量红利逐渐消退的当下,创始人IP的价值愈发凸显。它不仅能够帮助中小企业及个人创业者突破竞争壁垒,还能成为企业品牌影响力的核心资产。然而,市场上IP孵化机构鱼龙混杂,如何选择一家真正具备长期价值的合作伙伴?创…...

【靶场】XXE-Lab xxe漏洞
前言 学习xxe漏洞,搭了个XXE-Lab的靶场 一、搭建靶场 现在需要登录,不知道用户名密码,先随便试试抓包 二、判断是否存在xxe漏洞 1.首先登录抓包 看到xml数据解析,由此判断和xxe漏洞有关,但还不确定xxe漏洞是否存在。 2.尝试xxe 漏洞 判断是否存在xxe漏洞 A.send to …...

开源项目实战学习之YOLO11:12.6 ultralytics-models-tiny_encoder.py
👉 欢迎关注,了解更多精彩内容 👉 欢迎关注,了解更多精彩内容 👉 欢迎关注,了解更多精彩内容 ultralytics-models-sam 1.sam-modules-tiny_encoder.py2.数据处理流程3.代码架构图(类层次与依赖)blocks.py: 定义模型中的各种模块结构 ,如卷积块、残差块等基础构建…...

Python[数据结构及算法 --- 栈]
一.栈的概念 在 Python 中,栈(Stack)是一种 “ 后进先出(LIFO)”的数据结构,仅允许在栈顶进行插入(push)和删除(pop)操作。 二.栈的抽象数据类型 1.抽象数…...

Unity VR/MR开发-开发环境准备
视频讲解链接: 【XR马斯维】UnityVR/MR开发环境准备【UnityVR/MR开发教程--入门】_哔哩哔哩_bilibili...

2025-06-08-深度学习网络介绍(语义分割,实例分割,目标检测)
深度学习网络介绍(语义分割,实例分割,目标检测) 前言 在开始这篇文章之前,我们得首先弄明白,什么是图像分割? 我们知道一个图像只不过是许多像素的集合。图像分割分类是对图像中属于特定类别的像素进行分类的过程,即像素级别的…...
Caliper 配置文件解析:config.yaml 和 fisco-bcos.json 附加在caliper中执行不同的合约方法
Caliper 配置文件解析:config.yaml 和 fisco-bcos.json Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO…...

【Ragflow】26.RagflowPlus(v0.4.0):完善解析逻辑/文档撰写模式全新升级
概述 在历经半个月的间歇性开发后,RagflowPlus再次迎来一轮升级,正式发布v0.4.0。 开源地址:https://github.com/zstar1003/ragflow-plus 更新方法 下载仓库最新代码: git clone https://github.com/zstar1003/ragflow-plus.…...

智能照明系统:具备认知能力的“光神经网络”
智能照明系统是物联网技术与传统照明深度融合的产物,其本质是通过感知环境、解析需求、自主决策的闭环控制,重构光与人、空间、环境的关系。这一系统由智能光源、多维传感器、边缘计算单元及云端管理平台构成,形成具备认知能力的“光神经网络…...
ubuntu系统 | docker+dify+ollama+deepseek搭建本地应用
1、docker 介绍与安装 docker安装:1、Ubuntu系统安装docker_ubuntu docker run-CSDN博客 docker介绍及镜像源配置:2、ubuntu系统docker介绍及镜像源和仓库配置-CSDN博客 docker常用命令:3、ubuntu系统docker常用命令-CSDN博客 docker compose安装:4、docker compose-CS…...
Docker 镜像上传到 AWS ECR:从构建到推送的全流程
一、在 EC2 实例中安装 Docker(适用于 Amazon Linux 2) 步骤 1:连接到 EC2 实例 ssh -i your-key.pem ec2-useryour-ec2-public-ip步骤 2:安装 Docker sudo yum update -y sudo amazon-linux-extras enable docker sudo yum in…...

SpringSecurity+vue通用权限系统
SpringSecurityvue通用权限系统 采用主流的技术栈实现,Mysql数据库,SpringBoot2Mybatis Plus后端,redis缓存,安全框架 SpringSecurity ,Vue3.2Element Plus实现后台管理。基于JWT技术实现前后端分离。项目开发同时采 …...
如何在Spring Boot中使用注解动态切换实现
还在用冗长的if-else或switch语句管理多个服务实现? 相信不少Spring Boot开发者都遇到过这样的场景:需要根据不同条件动态选择不同的服务实现。 如果告诉你可以完全摆脱条件判断,让Spring自动选择合适的实现——只需要一个注解,你是否感兴趣? 本文将详细介绍这种优雅的…...

短视频时长预估算法调研
weighted LR o d d s T p 1 − p ( 1 − p ) o d d s T p ( T p o d d s ∗ p ) o d d s p o d d s T o d d s odds \frac{Tp}{1-p} \newline (1-p)odds Tp \newline (Tp odds * p) odds \newline p \frac{odds}{T odds} \newline odds1−pTp(1−p)oddsTp(Tpodds…...
基于Java的离散数学题库系统设计与实现:附完整源码与论文
JAVASQL离散数学题库管理系统 一、系统概述 本系统采用Java Swing开发桌面应用,结合SQL Server数据库实现离散数学题库的高效管理。系统支持题型分类(选择题、填空题、判断题等)、难度分级、知识点关联,并提供智能组卷、在线测试…...
板凳-------Mysql cookbook学习 (十--2)
5.12 模式匹配中的大小写问题 mysql> use cookbook Database changed mysql> select a like A, a regexp A; ------------------------------ | a like A | a regexp A | ------------------------------ | 1 | 1 | --------------------------…...

设计模式域——软件设计模式全集
摘要 软件设计模式是软件工程领域中经过验证的、可复用的解决方案,旨在解决常见的软件设计问题。它们是软件开发经验的总结,能够帮助开发人员在设计阶段快速找到合适的解决方案,提高代码的可维护性、可扩展性和可复用性。设计模式主要分为三…...

FTPS、HTTPS、SMTPS以及WebSockets over TLS的概念及其应用场景
一、什么是FTPS? FTPS,英文全称File Transfer Protocol with support for Transport Layer Security (SSL/TLS),安全文件传输协议,是一种对常用的文件传输协议(FTP)添加传输层安全(TLS)和安全套接层(SSL)加密协议支持的扩展协议。…...
RK3568项目(七)--uboot系统之外设与PMIC详解
目录 一、引言 二、按键 ------>2.1、按键种类 ------------>2.1.1、RESET ------------>2.1.2、UPDATE ------------>2.1.3、PWRON 部分 ------------>2.1.4、RK809 PMIC ------------>2.1.5、ADC按键 ------------>2.1.6、ADC按键驱动 ------…...
Three.js进阶之粒子系统(一)
一些特定模糊现象,经常使用粒子系统模拟,如火焰、爆炸等。Three.js提供了多种粒子系统,下面介绍粒子系统 一、Sprite粒子系统 使用场景:下雨、下雪、烟花 ce使用代码: var materialnew THRESS.SpriteMaterial();//…...
【仿生机器人】刀剑神域——爱丽丝苏醒计划,需求文档
仿生机器人"爱丽丝"系统架构设计需求文档 一、硬件基础 已完成头部和颈部硬件搭建 25个舵机驱动表情系统 颈部旋转功能 眼部摄像头(视觉输入) 麦克风阵列(听觉输入) 颈部发声装置(语音输出)…...
小白的进阶之路系列之十四----人工智能从初步到精通pytorch综合运用的讲解第七部分
通过示例学习PyTorch 本教程通过独立的示例介绍PyTorch的基本概念。 PyTorch的核心提供了两个主要特性: 一个n维张量,类似于numpy,但可以在gpu上运行 用于构建和训练神经网络的自动微分 我们将使用一个三阶多项式来拟合问题 y = s i n ( x ) y=sin(x) y=sin(x),作为我们的…...
JavaScript性能优化实战大纲
性能优化的核心目标 降低页面加载时间,减少内存占用,提高代码执行效率,确保流畅的用户体验。 代码层面的优化 减少全局变量使用,避免内存泄漏 // 不好的实践 var globalVar I am global;// 好的实践 (function() {var localV…...

Python 解释器安装全攻略(适用于 Linux / Windows / macOS)
目录 一、Windows安装Python解释器1.1 下载并安装Python解释1.2 测试安装是否成功1.3 设置pip的国内镜像------永久配置 二、macOS安装Python解释器三、Linux下安装Python解释器3.1 Rocky8.10/Rocky9.5安装Python解释器3.2 Ubuntu2204/Ubuntu2404安装Python解释器3.3 设置pip的…...

Java多线程从入门到精通
一、基础概念 1.1 进程与线程 进程是指运行中的程序。 比如我们使用浏览器,需要启动这个程序,操作系统会给这个程序分配一定的资源(占用内存资源)。 线程是CPU调度的基本单位,每个线程执行的都是某一个进程的代码的某…...

【芯片仿真中的X值:隐藏的陷阱与应对之道】
在芯片设计的世界里,X值(不定态)就像一个潜伏的幽灵。它可能让仿真测试顺利通过,却在芯片流片后引发灾难性后果。本文将揭开X值的本质,探讨其危害,并分享高效调试与预防的实战经验。 一、X值的本质与致…...