Go运算符

算术运算符 + - * / % ++ --

关系运算符 > < != == >= <=

逻辑运算符 && || ! 注意短路运算

位运算符 & | ^ << >>

赋值运算符 = += -= /=

其他运算符 &变量名 --》取地址符

*指针

-> <-

算术运算符

复制代码
package main

import (
    "fmt"
)

/*
    算术运算符       + - * / % ++ --
    关系运算符       > < != == >= <=
    逻辑运算符       && || !     注意短路运算
    位运算符        & | ^ << >>
    赋值运算符       = += -= /=
    其他运算符       &变量名  --》取地址符 
                  *指针
                  ->    <-
*/

func main() {
    //算术运算符
    x, y := 8, 5
    fmt.Println("除法运算:", x/y)
    fmt.Println("浮点运算:", float64(x)/float64(y))
    fmt.Println("取余运算", x%y)
    x++
    fmt.Println("自增运算", x)
    y--
    fmt.Println("自减运算", y)

    //除了上面的基本运算之外  还有一个math库提供了许多数学函数和常量
    fmt.Println(math.Pi)
    fmt.Println(math.Pow(5, 3))
    fmt.Println(math.Abs(-100)) 
}

关系运算符

复制代码
package main

import (
    "fmt"
)

func main() {
    //关系运算符  --  不能连用
    x := 9
    if 5 < x && x < 10 { //不能写成  5<x<10
        fmt.Println("x在5到10之间")
    }
}

逻辑运算符

复制代码
package main

import (
    "fmt"
)

func main() {
    //逻辑运算符  --短路运算
    x, y, z := 8, 5, 0
    if (x < 5) && (y/z > 0) {
        fmt.Println("OK")
    }
}

位运算符

复制代码
package main

import (
    "fmt"
)

func main() {
    //位运算符
    fmt.Println(5 | 4) //转换成二进制再进行与运算
    fmt.Println(5 & 6) //转换成二进制,二进制位同时为1才是1
    fmt.Println(5 ^ 6)
    fmt.Println(5 << 2)

    
}