go运算符

一、算术运算符

  • 列表
运算符描述
  • | 相加
  • | 相减
  • | 相乘

    / | 相除

    % | 取余

    ++ | 自增

    -- | 自减

  • 实例

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小说网