• 五、运算符


    运算符

    1、算数运算符

    代码示例

    package main
     
    import "fmt"
     
    func main() {
        a := 1
        b := 2
        fmt.Println("a加b等于:", a+b)
        fmt.Println("a减b等于:", a-b)
        fmt.Println("a剩b等于:", a*b)
        fmt.Println("a除b等于:", a/b)
        fmt.Println("a除b后取余数等于:", a%b)
        a++
        fmt.Println("a++后的结果:", a)
        b--
        fmt.Println("b--后的结果:", b)
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    查看运行结果
    在这里插入图片描述

    2、关系运算符

    关系运算符主要有 =,!=,>,<,>=,<=共6种运算符
    代码示例

    package main
     
    import "fmt"
     
    func main() {
     
        var m int = 21
        var n int = 10
        if m == n {
            fmt.Println("第一行返回:a等于b")
        } else {
            fmt.Println("第一行返回:a不等于b")
        }
        if m < n {
            fmt.Println("第二行返回:a小于b")
        } else {
            fmt.Println("第二行返回:a不小于b")
        }
        if m > n {
            fmt.Println("第三行返回:a大于b")
        } else {
            fmt.Println("第三行返回:a不大于b")
        }
        m, n = n, m //交换m,n的值
        if m <= n {
            fmt.Println("第四行返回:a小于等于b")
        }
        if m >= n {
            fmt.Println("第四行返回:a不小于b")
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    查看运行结果
    在这里插入图片描述

    3、逻辑运算符

    主要有三种逻辑运算符:
    &&:逻辑 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")
        } else if a || b {
            fmt.Printf("第一行 - 条件为 true\n")
        }
        a, b = b, a //修改a,b的值,对调
        if a && b {
            fmt.Printf("第二行 - 条件为 true\n")
        } else {
            fmt.Printf("第二行 - 条件为 false\n")
        }
        if !(a && b) {
            fmt.Printf("第三行 - 条件为 true\n")
        } else {
            fmt.Printf("第三行 - 条件为 false\n")
        }
     
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    查看运行结果
    在这里插入图片描述

    4、位运算符

    & 位与(bitwise AND)
    | 位或 (bitwise OR)
    ^ 位异或 (bitwise XOR)
    &^ 位清空 (AND NOT)

    左移 integer >> unsigned integer
    << 右移 integer << unsigned integer
    在这里插入图片描述

    代码示例

    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 */
       fmt.Printf("第四行 - c 的值为 %d\n", c)
    
       c = a >> 2 /* 15 = 0000 1111 */
       fmt.Printf("第五行 - c 的值为 %d\n", c)
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    查看运行结果
    在这里插入图片描述

    5、赋值运算符

    赋值符号为=,将一个表达式的值赋给一个左值,结合之前其他的型号的赋值运算符如下:
    代码示例

    package main
     
    import "fmt"
     
    func main() {
     
        var a int = 21
        var c int
    
        c = a
            fmt.Printf("第 1 行 - = 运算符实例,c 值为 = %d\n", c)
    
        c += a
            fmt.Printf("第 2 行 - += 运算符实例,c 值为 = %d\n", c)
    
        c -= a
            fmt.Printf("第 3 行 - -= 运算符实例,c 值为 = %d\n", c)
    
        c *= a
            fmt.Printf("第 4 行 - *= 运算符实例,c 值为 = %d\n", c)
    
        c /= a
            fmt.Printf("第 5 行 - /= 运算符实例,c 值为 = %d\n", c)
    
        c = 200
    
        c <<= 2
            fmt.Printf("第 6行 - <<= 运算符实例,c 值为 = %d\n", c)
    
        c >>= 2
            fmt.Printf("第 7 行 - >>= 运算符实例,c 值为 = %d\n", c)
    
        c &= 2
            fmt.Printf("第 8 行 - &= 运算符实例,c 值为 = %d\n", c)
    
        c ^= 2
            fmt.Printf("第 9 行 - ^= 运算符实例,c 值为 = %d\n", c)
    
        c |= 2
            fmt.Printf("第 10 行 - |= 运算符实例,c 值为 = %d\n", c)
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41

    查看运行结果
    在这里插入图片描述

  • 相关阅读:
    云原生|kubernetes|kubernetes的网络插件calico和flannel安装以及切换
    CMMI认证要求
    基于opengauss数据库的酒水销售管理系统
    又一恶意软件:1000多名受害者均在韩国,不排除其他地区被攻击的可能
    【数据结构】二叉树的链式结构
    NLP自然语言处理学习笔记(九)(转自咕泡AI)
    解决方案中word中分页符的使用
    [操作系统笔记]处理机调度
    火眼金睛破局ES伪慢查询
    八核智能视频分析边缘计算盒子,4.8T+24路1080P视频解码
  • 原文地址:https://blog.csdn.net/qq_34158880/article/details/127810554