Golang中的运算符

这篇具有很好参考价值的文章主要介绍了Golang中的运算符。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Golang中的运算符

 

目录

运算符

算术运算符

代码案例:

关系运算符

代码案例:

逻辑运算符

代码案例:

位运算符

代码案例:

赋值运算符

代码案例:

其他运算符


运算符

算术运算符

Go语言中的算术运算符包括加、减、乘、除和取模等。需要注意的是,除法运算符/和取模运算符%只能用于整数类型,而不能用于浮点数类型。如果要进行浮点数除法,需要使用类型转换或浮点数常量。另外,Go语言中的自增自减运算符只能用于语句中,不能用于表达式中。

用于进行基本的算术运算,包括加法、减法、乘法、除法、取模等。常用的算术运算符如下:

运算符 描述
+ 加法
- 减法
* 乘法
/ 除法
% 取模/取余数

代码案例:

package main

import "fmt"

func main() {
    a := 10
    b := 3
    
    // 加法
    fmt.Println(a + b)  // 13
    
    // 减法
    fmt.Println(a - b)  // 7
    
    // 乘法
    fmt.Println(a * b)  // 30
    
    // 除法
    fmt.Println(a / b)  // 3
    
    // 取余
    fmt.Println(a % b)  // 1
}

关系运算符

Go语言中的关系运算符包括等于、不等于、大于、小于、大于等于和小于等于等。需要注意的是,比较运算符只能用于可比较的类型,例如整数、浮点数、字符串、指针等。而结构体、数组、函数等复杂类型则需要自定义比较函数或使用反射机制进行比较。

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

代码案例:

package main

import "fmt"

func main() {
    a := 10
    b := 3
    
    // 等于
    fmt.Println(a == b)  // false
    
    // 不等于
    fmt.Println(a != b)  // true
    
    // 大于
    fmt.Println(a > b)   // true
    
    // 小于
    fmt.Println(a < b)   // false
    
    // 大于等于
    fmt.Println(a >= b)  // true
    
    // 小于等于
    fmt.Println(a <= b)  // false
}

逻辑运算符

Go语言中的逻辑运算符包括与、或、非等。需要注意的是,与运算符&&和或运算符||具有短路特性,即只要能确定整个表达式的值就会停止计算。而非运算符!只能用于布尔类型,而不能用于整数类型。

运算符 描述
&& 逻辑 AND 运算符。如果两个操作数都是 true,则条件为 true,否则为 false
|| 逻辑 OR 运算符。如果两个操作数中有任意一个操作数为 true,则条件为 true,否则为 false
! 逻辑 NOT 运算符。用于反转操作数的逻辑状态。如果条件为 true,则逻辑 NOT 运算符会将其变为 false

代码案例:

package main

import "fmt"

func main() {
    a := true
    b := false
    
    // 逻辑与
    fmt.Println(a && b)  // false
    
    // 逻辑或
    fmt.Println(a || b)  // true
    
    // 逻辑非
    fmt.Println(!a)     // false
}

位运算符

Go语言中的位运算符包括按位与、按位或、按位异或、按位左移和按位右移等。需要注意的是,位运算符只能用于整数类型,而不能用于浮点数类型。另外,位运算符的优先级比算术运算符和比较运算符低,需要使用括号来控制优先级。

运算符 描述
& 按位与运算符。对两个操作数的每个二进制位执行逻辑 AND 操作
| 按位或运算符。对两个操作数的每个二进制位执行逻辑 OR 操作
^ 按位异或运算符。对两个操作数的每个二进制位执行逻辑 XOR 操作
<< 左移运算符。将左操作数的所有位向左移动指定的位数
>> 右移运算符。将左操作数的所有位向右移动指定的位数

代码案例:

package main

import "fmt"

func main() {
    a := 60
    b := 13
    
    // 按位与
    fmt.Println(a & b)   // 12
    
    // 按位或
    fmt.Println(a | b)   // 61
    
    // 按位异或
    fmt.Println(a ^ b)   // 49
    
    // 左移
    fmt.Println(a << 2)  // 240
    
    // 右移
    fmt.Println(a >> 2)  // 15
}

赋值运算符

Go语言中的赋值运算符包括简单赋值、加等于、减等于、乘等于、除等于、模等于、与等于、或等于、异或等于等。需要注意的是,赋值运算符可以同时使用于多个变量,例如a, b := 1, 2。另外,赋值运算符的优先级比大部分运算符都低,但比逻辑运算符高。

运算符 描述
= 简单赋值运算符。将右边表达式的值赋给左边的变量
+= 加等于运算符。将右边表达式的值加到左边的变量上
-= 减等于运算符。将右边表达式的值从左边的变量中减去
*= 乘等于运算符。将右边表达式的值乘到左边的变量上
/= 除等于运算符。将左边变量的值除以右边表达式的值
%= 模等于运算符。将左边变量的值对右边表达式的值取模

代码案例:

package main

import "fmt"

func main() {
    a := 10
    b := 3
    
    // 简单赋值
    c := a
    fmt.Println(c)  // 10
    
    // 加法赋值
    a += b
    fmt.Println(a)  // 13
    
    // 减法赋值
    a -= b
    fmt.Println(a)  // 10
    
    // 乘法赋值
    a *= b
    fmt.Println(a)  // 30
    
    // 除法赋值
    a /= b
    fmt.Println(a)  // 10 / 3 = 3
    
    // 取余赋值
    a %= b
    fmt.Println(a)  // 1
}

其他运算符

Go语言中还有一些其他的运算符,例如取地址运算符&、指针运算符*、sizeof运算符等。需要注意的是,取地址运算符和指针运算符只能用于指针类型,而sizeof运算符只能用于静态类型。文章来源地址https://www.toymoban.com/news/detail-443914.html

到了这里,关于Golang中的运算符的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python教程(13)——Python运算符详解|算术运算符|比较运算符|逻辑运算符|位运算符

    Python的运算符是用于执行各种操作的符号或符号组合。它们用于操作数据并进行算术、比较、逻辑和其他类型的运算。我们所熟知的加减乘除也是运算符中的一种。Python提供了多种类型的运算符,有算术运算符,比较运算符,赋值运算符,逻辑运算符,位算符等等。 算术运算

    2024年02月09日
    浏览(42)
  • 汇编-算术运算符

    下面给出了一些有效表达式和它们的值:

    2024年02月06日
    浏览(34)
  • C# 运算符详解:包含算术、赋值、比较、逻辑运算符及 Math 类应用

    运算符用于对变量和值执行操作。在C#中,有多种运算符可用,包括算术运算符、关系运算符、逻辑运算符等。 算术运算符用于执行常见的数学运算: 递增运算符 ++ 用于将变量的值增加 1,而递减运算符 -- 用于将变量的值减少 1: 在实际编码中,请注意避免在表达式中使用

    2024年01月20日
    浏览(53)
  • 【Lua语法】算术、条件、逻辑、位、三目运算符

    加减乘除取余:+ - * / % Lua中独有的:幂运算 ^ 注意: 1.Lua中没有自增自减(++、–),也没有复合运算符(+=、-=) 2.Lua中字符串可以进行算术运算符操作,会自动转成number 如:“10.3” + 1 结果为11.3 大于 小于 大于等于 = 小于等于 = 等于 == 不等于 ~= 返回值依然是bool 注意: 1.与C

    2024年02月11日
    浏览(39)
  • SQL 算术运算符:加法、减法、乘法、除法和取模的用法

    存储过程是一段预先编写好的 SQL 代码,可以保存在数据库中以供反复使用。它允许将一系列 SQL 语句组合成一个逻辑单元,并为其分配一个名称,以便在需要时调用执行。存储过程可以接受参数,使其更加灵活和通用。 创建存储过程的语法如下: 执行存储过程的语法如下:

    2024年02月05日
    浏览(47)
  • 【C++】STL 算法 ⑧ ( 预定义函数对象 | 预定义函数对象组成 | 预定义函数对象分类 | 预定义 算术运算符 函数对象 | 预定义 比较运算符 函数对象 | 预定义 逻辑运算符 函数对象 )

    C++ 的 标准模板库 ( STL , Standard Template Library ) 中 , 预定义了一系列的 \\\" 函数对象 “ , 又称为 ” 仿函数 Functors \\\" ; 这些 \\\" 预定义函数对象 \\\" 在 STL 算法中 , 可以 作为 算法的参数 , 定制某些参数的行为 , 如 : for_each 遍历算法中 , 传入 \\\" 一元函数对象 \\\" , 用于执行单个元素的遍历

    2024年01月16日
    浏览(55)
  • 【JAVA】你可知JAVA中的运算符|重温运算符

    作者主页:paper jie的博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVASE语法系列》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造,将javaSE基础知识一网打尽,希望可以帮到读者们哦。 其他专栏

    2024年02月15日
    浏览(34)
  • C++ 中的运算符,包括三目运算符,关系和逻辑运算符,地址运算符等等(C++复习向p8)

    加减乘除 ±*/:略 取模运算符 %: 比如 10 % 4=2 自增运算符 ++:给自己加1 自减运算符 —:给自己减1 “==” 是否相等 “!=” 是否不等 “” 是否大于 “” 是否小于 逻辑与,如果2个都是true,条件才true || 逻辑或,两个有一个是true,就是true ! 逻辑非,true变成false,false变成t

    2024年02月07日
    浏览(37)
  • Java中的运算符--短路运算

    JAVA中有两个短路运算,一个是短路与,一个是短路或。 所谓短路,就是当一个参与运算的操作数足以推断该表达式的值时,另一个操作数(可能是表达式)就不会执行。 短路与: 短路或: || 应用: 逻辑与、逻辑或都是自作向右计算。 两边同时为true,则为true。 有一方为fal

    2024年02月16日
    浏览(36)
  • python中@运算符和*运算符在矩阵乘法中的区别与作用

      我们在看python程序时,经常可以看到@运算符和*运算符,其中@运算符在传统python中通常是作为装饰器使用的。但是在Python 3.5之后,它又具备了矩阵乘法运算的功能。下面使用示例来对比这两个运算符对矩阵运算的影响:   导入用到numpy包:   创建一个维度为2×3×3的

    2024年02月12日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包