Go 语言运算符

本文介绍了Go语言中的各种运算符,包括算术运算符、关系运算符、逻辑运算符、位运算符及其用法。关系运算符返回布尔值,如2>1返回true,2>5返回false。逻辑运算符处理布尔表达式,位运算符则作用于整数的二进制位。此外,还提及了运算符的优先级。
摘要由CSDN通过智能技术生成

运算符用于在程序运行时执行数学或逻辑运算。

Go 语言内置的运算符有:

  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 位运算符
  • 赋值运算符
  • 其他运算符

算术运算符

运算符描述
+相加
-相减
*相乘
/相除
%求余
++自增
--

自减


关系运算符

关系运算符返回值是布尔类型,如果逻辑正确,比如2大于1,返回true。2>5,逻辑不成立,返回false。

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

逻辑运算符

逻辑运算符是在运算符两边分别有一个表达式(!除外),表达式的值要为布尔类型的true或false。

 

运算符描述
&&逻辑 AND 运算符。 如果两边的操作数都是 true,则条件 true,否则为 false。
||逻辑 OR 运算符。 如果两边的操作数有一个 true,则条件 true,否则为 false。
!逻辑 NOT 运算符。 如果条件为 true,则逻辑 NOT 条件 false,否则为 true。

 举例

package main

import "fmt"

func main() {
   var a bool = true
   var b bool = false
   if ( a && b ) {
      fmt.Printf("第一行 - 条件为 true\n" )
   }
   if ( a || b ) {
      fmt.Printf("第二行 - 条件为 true\n" )
   }
   /* 修改 a 和 b 的值 */
   a = false
   b = true
   if ( a && b ) {
      fmt.Printf("第三行 - 条件为 true\n" )
   } else {
      fmt.Printf("第三行 - 条件为 false\n" )
   }
   if ( !(a && b) ) {
      fmt.Printf("第四行 - 条件为 true\n" )
   }
}

结果:

第二行 - 条件为 true

第三行 - 条件为 false

第四行 - 条件为 true


位运算符

位运算符对整数在内存中的二进制位进行操作。

运算符描述
&参与运算的两数各对应的二进位相与
|参与运算的两数各对应的二进位相或
^参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1
<<左移n位就是乘以2的n次方。 其功能把"<<"左边的运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0
>>右移n位就是除以2的n次方。 其功能是把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数
pqp&qp|qp^q
00000
01011
11110
10011

 


运算符优先级

优先级运算符
5* / % << >> & &^
4+ - | ^
3== != < <= > >=
2&&
1||

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值