go运算符

本文介绍了Go语言中的五种基本运算符:算术运算符、关系运算符、逻辑运算符、赋值运算符和位运算符,并通过具体示例展示了它们的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、算术运算符

  • 列表
运算符描述
+相加
-相减
*相乘
/相除
%取余
++自增
--自减
  • 实例
package main

import "fmt"

func main(){
    num1,num2 := 10,2
    fmt.Println(num1 + num2) // 12
    fmt.Println(num1 - num2) // 8
    fmt.Println(num1 * num2) // 20
    fmt.Println(num1 / num2) // 5
    fmt.Println(11 % num2) // 1
    num2++
    fmt.Println(num2) // 3
    num1--
    fmt.Println(num1) // 9
}

二、关系运算符

  • 列表
运算符描述
==等于 比较左右两边的值是否相等,相等返回true,否则为false
!=不等于 比较左右两边的值是否不相等,不相等返回true,否则为false
>大于 左边的值 大于 右边 则返回true,否则 为false
<小于 左边的值 小于 右边 则返回true,否则 为false
>=大于等于 左边的值 大于等于 右边 则返回true,否则 为false
<=小于等于 左边的值 小于等于 右边 则返回true,否则 为false
  • 实例
package main

import "fmt"

func main(){
    num1,num2 := 3,4
    if num1 == num2 {
        fmt.Println("num1 和 num2 相等")
    }

    if num1 != num2 {
        fmt.Println("num1 和 num2 不相等")
    }

    if num1 > num2 {
        fmt.Println("num1 大于 num2")
    }

    if num1 < num2 {
        fmt.Println("num1 小于 num2")
    }

    if num1 >= num2 {
        fmt.Println("num1 大于相等 num2")
    }

    if num1 <= num2 {
        fmt.Println("num1 小于相等 num2")
    }

    // switch 用法 ,后面会着重讲解
    switch{
    case num1 == num2:
        fmt.Print("num1 和 num2 相等")
    case num1 != num2:
        fmt.Print("num1 和 num2 不相等")
    case num1 > num2:
        fmt.Print("num1 大于 num2")
    case num1 < num2:
        fmt.Print("num1 小于 num2")
    case num1 >= num2:
        fmt.Print("num1 大于相等 num2")
    case num1 <= num2:
        fmt.Print("num1 小于相等 num2")
    }

    // switch最后只会输出 num1 和 num2 不相等,其他不会输出
}

三、逻辑运算符

  • 列表
运算符描述
&&
||
!
  • 举例
package main

import "fmt"

func main(){
    t1,t2 := true,false
    if t1 && t2{
        fmt.Println("t1,t2 都为真")
    }

    if t1 || t2{
        fmt.Println("t1,t2 有一个为真")
    }

    if !t2{
        fmt.Println("t2 为假,所以!t2 为真")
    }

    }

四、赋值运算符

  • 列表
运算符描述
=简单的赋值操作
+=相加后再赋值
-=相减后再赋值
*=相乘后再赋值
/=相除后再赋值
%=取余后再赋值
  • 实例
package main

import "fmt"

func main(){
    var num int
    num1,num2 := 6,4
    num = num2
    num += num1
    fmt.Println(num) // 10
    num -= num2
    fmt.Println(num) // 6
    num *= num1
    fmt.Println(num) // 36
    num /= num2
    fmt.Println(num) // 9
    num %= num2
    fmt.Println(num) // 1

}

五、位运算符

  • 列表
运算符描述
&按位与运算符"&" 二进制且操作,两个二进制位 对应的二进制 相与
|按位或运算符"
^按位异或运算符"^" 二进制或操作,两个二进制位 对应的二进制 相异
<<左移运算符<< 左移n位就是乘以2的n次方
>>右移运算符">>" 右移n位就是除以2的n次方
  • 实例
package main

import "fmt"

func main() {

   var a uint = 60      /* 60 = 0011 1100 */  
   var b uint = 13      /* 13 = 0000 1101 */
   var c uint = 0          

   c = a & b       /* 12 = 0000 1100 */ 
   fmt.Printf("第一行 - c 的值为 %d\n", c )

   c = a | b       /* 61 = 0011 1101 */
   fmt.Printf("第二行 - c 的值为 %d\n", c )

   c = a ^ b       /* 49 = 0011 0001 */
   fmt.Printf("第三行 - c 的值为 %d\n", c )

   c = a << 2     /* 240 = 1111 0000 */     // 60 * 2^2
   fmt.Printf("第四行 - c 的值为 %d\n", c )

   c = a >> 2     /* 15 = 0000 1111 */    // 60 / (2^2)
   fmt.Printf("第五行 - c 的值为 %d\n", c )
}

如果喜欢看小说,请到183小说网

转载于:https://www.cnblogs.com/xiaobaiskill/p/10587695.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值