美文网首页简书Go语言专栏golang 学习与实战
【Golang 基础】Go 语言的操作符

【Golang 基础】Go 语言的操作符

作者: hvkcoder | 来源:发表于2019-03-18 18:34 被阅读0次

    Go 语言的运算符

    算术运算符

    • +:相加;
    • -:相减;
    • *:相乘;
    • /:相除;
    • %:求余;
    • ++:自增;
    • --:自减;

    其中,++-- 不能用于赋值表达式, 如: count2 := count++;并且在 Go 语言中,不存在如:++count 表达式

    关系运算符

    • ==:检查两个值是否相等,如果相等返回 true,否则返回 false
    • !=:检查两个值是否不相等,如果不相等返回 true,否则返回 false
    • >:检查左边值是否大于右边值,如果是返回 true,否则返回 false
    • <:检查左边值是否小于右边值,如果是返回 true,否则返回 false
    • >=:检查左边值是否大于等于右边值,如果是返回 true,否则返回 false
    • <=:检查左边值是否小于等于右边值,如果是返回 true,否则返回 false

    逻辑运算符

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

    位运算符

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

    • &:按位与运算符。其功能是参与运算的两个数的二进制按位对齐,当对应位都为 1 时,才返回 1
    fmt.Println(3 & 4)  // 0
    
    // 计算过程
    //   0011     => 3 的二进制
    //   0100     => 4 的二进制
    // &
    // ---------------------------
    //   0000     => 0 的二进制
    
    • |:按位或运算符。其功能是参与运算的两个数的二进制按位对齐,当对应位中只要有一位是 1,就返回 1
    fmt.Println(3 | 4) // 7
    
    // 计算过程
    //   0011     => 3 的二进制
    //   0100     => 4 的二进制
    // &
    // ---------------------------
    //   0111     => 7 的二进制
    
    • ^:按位异或运算符。其是参与运算的两个数的二进制按位对齐,当对应位有一位是 1,就返回 1;如果对应两位都是 1 或 0,就返回 0
    fmt.Println(25 ^ 3) // 26
    
    // 计算过程
    //   0001 1001     => 25 的二进制
    //   0000 0011     => 3 的二进制
    // ^
    // ---------------------------
    //   0001 1010     => 26 的二进制
    
    • <<:左移运算符。其功能是将数值的二进制所有位向左移动指定的位数
    fmt.Println(3 << 3) // 24
    
    // 计算过程
    //      0000 0011     => 3 的二进制
    //              3
    // <<      
    // ---------------------------
    //      0001 1000     => 24 的二进制
    
    • >>:右移运算符。其功能是将数值的二进制所有位向右移动指定的位数
    fmt.Println(3 >> 3) // 0
    
    // 计算过程
    //      0000 0011     => 3 的二进制
    //              3
    // >>      
    // ---------------------------
    //      0000 0000     => 0 的二进制
    

    赋值运算符

    • =:简单的赋值运算符,将一个表达式的值赋给一个左值;
    • +=:相加后再赋值;
    • -=:相减后再赋值;
    • *=:相乘后再赋值;
    • /=:相除后再赋值;
    • %=:取余后再赋值;
    • &=:按位与后赋值;
    • |=:按位或后赋值;
    • ^=:按位异或后赋值;
    • <<=:左位移后赋值;
    • >>=:右位移后赋值;

    相关文章

      网友评论

        本文标题:【Golang 基础】Go 语言的操作符

        本文链接:https://www.haomeiwen.com/subject/ccibmqtx.html