Go语言之运算符

  • 算术运算符

    package main
    import "fmt"
    func main()  {
       a := 2
       b := 3
       fmt.Print(a+b)          // 5    加
       fmt.Print("\n")
       fmt.Print(a-b)          // -1   减
       fmt.Print("\n")
       fmt.Print(a*b)          // 6    乘
       fmt.Print("\n")
       fmt.Print(a/b)          // 0    除  打印出了一个int型直接把小数舍去
       fmt.Print("\n")
       fmt.Print(a%b)          // 3    求余
       fmt.Print("\n")         
       a++                     //      自加
       fmt.Print(a)            // 3
       fmt.Print("\n")
       b--                     //      自减
       fmt.Print(b)            // 2
       fmt.Print("\n")
    }
  • 关系运算符

    package main
    import "fmt"
    func main()  {  
        a := 2
        b := 2
        fmt.Print(a==b)          // true    等于
        fmt.Print("\n")
        fmt.Print(a!=b)          // false   不等于
        fmt.Print("\n")
        fmt.Print(a>b)           // false   大于
        fmt.Print("\n")
        fmt.Print(a<b)           // false   小于
        fmt.Print("\n")
        fmt.Print(a>=b)          // true    大于等于
        fmt.Print("\n")
        fmt.Print(a<=b)          // true    小于等于  
    } 
  • 逻辑运算符

    • &&逻辑与运算符 如果两个操作数都不为零,则条件为真。(A && B)结果为真`
    • ||逻辑或运算符 如果两个操作数中的任何-个非零,则条件变为真。(A ||B)结果为真`
    • !逻辑非运算符 用于反转其操作数的逻辑状态。如果条件为真,则逻辑非运算符将为假。!(A && B)结果为真`

      package main
      import "fmt"
      func main()  {
       a := true
       b := true
       c := false
       fmt.Print(a&&b)      // true    逻辑与
       fmt.Print("\n")
       fmt.Print(a||b)      // true    逻辑或
       fmt.Print("\n")
       fmt.Print(a&&c)      // false   
       fmt.Print("\n")
       fmt.Print(a||c)      // true
       fmt.Print("\n")
       fmt.Print(!a)        // false   逻辑非
      }
  • 按位运算符

    • & 按位与: 都为1则结果为1
    • | 按位或: 有一个为1则结果为1
    • ^ 按位异或: 对应不同数值时结果为1
    • << 左移: 把数整体向左移动
    • >> 右移: 把数整体向右移动

      package main
      import "fmt"
      func main()  {
       a := byte(0)
       b := byte(1)
       fmt.Print(a)        // 0
       fmt.Print("\n")
       fmt.Print(b)        // 1
       fmt.Print("\n")
       fmt.Print(a&b)      // 1 
       fmt.Print("\n")
       fmt.Print(b&b)      // 1
       fmt.Print("\n")
       fmt.Print(a|b)      // 1
       fmt.Print("\n")
       fmt.Print(a^b)      // 1
       fmt.Print("\n")
       fmt.Print(a^a)      // 0
       fmt.Print("\n")
       fmt.Print(b^b)      // 0
       fmt.Print("\n")
       fmt.Print(b<<1)     // 2
       fmt.Print("\n")
       fmt.Print(b>>1)     // 0
      }
  • 赋值运算符

    • = 表达式的值赋给一个左值 C=A+B 将A+B表入式结果赋値给C
    • += 相加后再赋值 C+=A 等于C=C+A
    • -= 相减后再赋值 C-=A 等于C=C-A
    • *= 相乘后再赋值 C=A 等于C=CA
    • /= 相除后再赋值 C/=A 等于C=C/A
    • %= 求余后再赋值 C%=A 等于C=C%A
    • <<= 左移后再赋值 C<<=2 等于C=C<<2
    • >>= 右移后再赋值 C>>=2 等于C=C>>2
    • &= 按位与后再赋值 C&=2 等于C=C&2
    • ^= 按位异或后再赋值 C^=2 等于C=C^2
    • |= 按位或后再赋值 C|=2 等于C=C|2
Last modification:September 21, 2020
如果觉得我的文章对你有用,请随意赞赏