Go 语言运算符详解:加法、算术、赋值、比较、逻辑和位运算符全面解析

2024-01-21

运算符用于对变量和值执行操作。

加号运算符(+)将两个值相加,如下面的示例所示:

示例代码:

package main

import (
  "fmt"
)

func main() {
  var a = 15 + 25
  fmt.Println(a)
}

尽管加号运算符通常用于将两个值相加,但它也可以用于将变量和值相加,或者将一个变量和另一个变量相加。

示例代码:

package main

import (
  "fmt"
)

func main() {
  var (
    sum1 = 100 + 50   // 150 (100 + 50)
    sum2 = sum1 + 250 // 400 (150 + 250)
    sum3 = sum2 + sum2 // 800 (400 + 400)
  )
  fmt.Println(sum3)
}

算术运算符

算术运算符用于执行常见的数学操作。

  • + :加法,将两个值相加,如 x + y
  • - :减法,从一个值中减去另一个值,如 x - y
  • * :乘法,将两个值相乘,如 x * y
  • / :除法,将一个值除以另一个值,如 x / y
  • % :模运算,返回除法余数,如 x % y
  • ++ :自增,将变量的值增加1,如 x++
  • -- :自减,将变量的值减少1,如 x–
    将10乘以5,并打印结果。
package main

import (
  "fmt"
)

func main() {
  fmt.Print(10 * 5)
}

赋值运算符

赋值运算符用于将值分配给变量。在下面的示例中,我们使用赋值运算符(=)将值10分配给名为x的变量:

package main

import (
  "fmt"
)

func main() {
  var x = 10
  fmt.Println(x)
}

加法赋值运算符(+=)将一个值添加到变量中:

package main

import (
  "fmt"
)

func main() {
  var x = 10
  x += 5
  fmt.Println(x)
}

所有赋值运算符的列表:

  • = :分配,如 x = 5
  • += :加法赋值,如 x += 3(等同于 x = x + 3)
  • -= :减法赋值,如 x -= 3(等同于 x = x - 3)
  • *= :乘法赋值,如 x *= 3(等同于 x = x * 3)
  • /= :除法赋值,如 x /= 3(等同于 x = x / 3)
  • %= :模赋值,如 x %= 3(等同于 x = x % 3)
  • &= :按位与赋值,如 x &= 3(等同于 x = x & 3)
  • |= :按位或赋值,如 x |= 3(等同于 x = x | 3)
  • ^= :按位异或赋值,如 x ^= 3(等同于 x = x ^ 3)
  • >>= :有符号右移赋值,如 x >>= 3(等同于 x = x >> 3)
  • <<= :左移赋值,如 x <<= 3(等同于 x = x << 3)

比较运算符

比较运算符用于比较两个值。注意:比较的返回值要么是true(1),要么是false(0)。在下面的示例中,我们使用大于运算符(>)来判断5是否大于3:

package main

import (
  "fmt"
)

func main() {
  var x = 5
  var y = 3
  fmt.Println(x > y) // 返回1(true),因为5大于3
}

所有比较运算符的列表:

  • == :等于,如 x == y
  • != :不等于,如 x != y
  • > :大于,如 x > y
  • < :小于,如 x < y
  • >= :大于等于,如 x >= y
  • <= :小于等于,如 x <= y

逻辑运算符

逻辑运算符用于确定变量或值之间的逻辑关系:

  • && :逻辑与,如果两个语句都为真,则返回true,如 x < 5 && x < 10
  • || :逻辑或,如果其中一个语句为真,则返回true,如 x < 5 || x < 4
  • ! :逻辑非,将结果反转,如果结果为true,则返回false,如 !(x < 5 && x < 10)

位运算符

位运算符用于处理二进制数字:

  • & :与运算,如果两个位都为1,则将结果位设置为1,如 x & y
  • | :或运算,如果两个位中至少一个为1,则将结果位设置为1,如 x | y
  • ^ :异或运算,如果只有一个位为1,则将结果位设置为1,如 x ^ y
  • << :左移,通过从右边添加零来左移位,如 x << 2
  • >> :右移,通过从左边移除位来右移,如 x >> 2

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索: Let us Coding ,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Go 语言运算符详解:加法、算术、赋值、比较、逻辑和位运算符全面解析 的相关文章

随机推荐

  • 软件测试|sqlalchemy relationship

    简介 SQLAlchemy是一个流行的Python ORM 对象关系映射 库 它允许我们以面向对象的方式管理数据库 在SQLAlchemy中 relationship 是一个重要的功能 用于建立表之间的关系 在本文中 我们将详细探讨 rel
  • 英国金融时报关注TRX登陆Mercado Bitcoin交易所:波场TRON强化南美洲布局,国际化进程持续加速

    近日 波场TRON网络原生代币TRX正式上线巴西最大的合规加密交易所Mercado Bitcoin 英国金融时报 Decrypt Blockworks等财经及加密行业权威媒体对该话题进行了报道 表示此次合作是波场TRON全球业务增长的有力证
  • 基于java的物业管理系统设计与实现

    基于java的物业管理系统设计与实现 I 引言 A 研究背景和动机 物业管理系统是指对物业进行管理和服务的系统 该系统需要具备对物业信息 人员信息 财务信息等进行管理的能力 基于Java的物业管理系统设计与实现的研究背景和动机主要体现在以下
  • 基于java的学生成绩管理系统设计与实现

    基于java的学生成绩管理系统设计与实现 I 引言 A 研究背景和动机 学生成绩管理系统是一个重要的教育工具 能够帮助学校管理学生的成绩和考试结果 以便更好地评估学生的教育水平和发展潜力 Java是一种广泛应用的编程语言 具有跨平台 高效
  • 基于java的web仓库管理系统设计与实现

    基于java的web仓库管理系统设计与实现 I 引言 A 研究背景和动机 基于Java的Web仓库管理系统是近年来快速发展的领域之一 它提供了丰富的功能 如数据存储 数据检索 数据分析和数据可视化等 本文将重点介绍基于Java的Web仓库管
  • 软件测试|web自动化测试神器playwright教程(三十八)

    简介 在我们使用selenium时 我们可以获取元素的属性 元素的文本值 以及输入框的内容等 作为比selenium更为强大的web自动化测试神器 playwright也可以实现对元素属性 文本值和输入框内容的抓取 并且实现比seleniu
  • 面对AI革新时,Soul App等社交应用的“出圈”解法是什么?

    2023年初 ChatGPT掀开海内外互联网 AI革新 的序幕 公众在惊讶于ChatGPT对于海量信息富有逻辑的整合归纳 帮助大家提升工作及学习效率之余 更为期待的莫过于有一天人工智能的 意识觉醒 十余年前由斯派克 琼斯 Spike Jon
  • 链上繁荣,合作不断,外媒热议波场 TRON 2023 年度成绩

    近日 权威外媒Theblock 美联社和Decrypt等就波场 TRON 2023大事件进行了年度盘点 报道指出 波场TRON网络在2023年取得了一系列的发展和合作 提升了其在Web3领域的地位 其中 波场TRON网络账户数量增加了 54
  • 电商数据api拼多多接口获取商品实时数据价格比价api代码演示案例

    拼多多商品详情接口 接口接入入口 它的主要功能是允许卖家从自己的系统中快速获取商品详细信息 通过这个接口 卖家可以提取到商品的各类数据 包括但不限于商品标题 价格 优惠价 收藏数 下单人数 月销售量等 此外 还可以获取到商品的SKU图 详情
  • Docker 安全必知:最佳实践、漏洞管理与监控策略

    容器安全是实施和管理像 Docker 这样的容器技术的关键方面 它包括一组实践 工具和技术 旨在保护容器化应用程序及其运行的基础架构 在本节中 我们将讨论一些关键的容器安全考虑因素 最佳实践和建议 容器隔离 隔离对于确保容器化环境的强大性和
  • 利用CHAT上传文件的操作

    问CHAT autox js ui 上传框 CHAT回复 上传文件的操作如果是在应用界面中的话 由于Android对于文件权限的限制 你可能不能直接模拟点击选择文件 一般来说有两种常见的解决方案 一种是使用intent来模拟发送一个文件路径
  • Docker CLI 实战指南:从基础命令到 Dockerfile 构建和 Docker Compose

    Docker CLI 命令行界面 是一个强大的工具 可让您与 Docker 容器 映像 卷和网络进行交互和管理 它为用户提供了广泛的命令 用于在其开发和生产工作流中创建 运行和管理 Docker 容器和其他 Docker 资源 安装 要开始
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 扬帆证券:成功投资的第一步:首次购买股票需要注意什么?

    关于第一次入市买股票的出资者来说 需求留意以下几点 1 股票的买卖规则 买卖时刻 早盘集合竞价9 15 9 25 尾盘集合竞价14 57 15 00 其中在9 15 9 20之间 出资者能够申报 也能够吊销申报 9 20 9 25之间 出资
  • 网络安全(黑客)自学

    1 网络安全是什么 网络安全可以基于攻击和防御视角来分类 我们经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 2 网络安全市场 一 是市场需求量高 二 则是发展相对成熟入门比较容易 3 所需要的
  • 扬帆证券揭秘股市术语:股票护盘是什么意思?

    股票护盘便是指对盘口进行维护 防止股价大幅跌落 一般当股价跌到一个相对低的位置时 主力会买入股票拉升股价 阻止股价继续跌落 主力护盘首要是因为股票继续跌落可能会跌破主力资金的成本线 主力为了防止呈现严重的亏损 一起为了后期能够轻松地抬升股价
  • 扬帆证券:掌握投资秘籍:如何看懂股票代码?

    股票代码不仅是差异各类基金的标志 也是投资者在买入股票时有必要输入的一项内容 不同股票代码代表着不同的股票 那么投资者怎么看懂股票代码 下面就由 扬帆证券 为大家来剖析 怎么看懂股票代码 股票代码是指用数字表明的股票不同类型意义的代码 代码
  • C++ 中 const 和 constexpr 关键字解析:常量、函数和指针

    很多 C 的初学者看到 const 这个关键字的第一反应都是一头雾水 主要是因为 const 可 以出现在很多的位置 以及后面加入的 constexpr 更是常常感到困惑 今天就为大家一一解释出现它们的含义和以及作用 const 关键字 c
  • C# 介绍、应用领域、入门、语法、输出和注释详解

    什么是 C C 发音为 C Sharp 是一种由 Microsoft 创建的面向对象的编程语言 运行在 NET Framework 上 源于 C 家族 与流行的语言如 C 和 Java 相近 首个版本发布于 2002 年 而最新版本 C 1
  • Go 语言运算符详解:加法、算术、赋值、比较、逻辑和位运算符全面解析

    运算符用于对变量和值执行操作 加号运算符 将两个值相加 如下面的示例所示 示例代码 package main import fmt func main var a 15 25 fmt Println a 尽管加号运算符通常用于将两个值相加