golang中算数运算、位运算、逻辑运算、赋值运算常用方法
package main import "fmt" var a = 21.0 var b = 5.0 //var c float64 func main() { Arithmetic() // 算数运算 BitOperation() // 位运算 LogicalOperation() // 逻辑运算 Assignment() // 赋值运算 } func Arithmetic() { /* 算术运算符 */ fmt.Println(a + b) fmt.Println(a - b) fmt.Println(a * b) fmt.Println(a / b) fmt.Println(int(a) % int(b)) // float无法求余数,需要转换成int类型 a++ fmt.Println(a) a-- fmt.Println(a) } func BitOperation() { /* 位运算 */ fmt.Println(252 & 63) // 60 fmt.Println(178 | 94) // 254 fmt.Println(20 ^ 5) // 17 fmt.Println(3 << 2) // 12 fmt.Println(11 >> 2) // 2 } func LogicalOperation() { /* 逻辑运算 */ a := true b := false if a && b { fmt.Println(true) } else { fmt.Println(false) } if a || b { fmt.Println(true) } else { fmt.Println(false) } if !(a && b) { fmt.Println(true) } else { fmt.Println(false) } } func Assignment() { /* 赋值运算符 */ c := a fmt.Println(c) c += a fmt.Println(c) c -=a fmt.Println(c) c *= a fmt.Println(c) c /= a fmt.Println(c) // 位移赋值 d := 200 d <<= 2 fmt.Println(d) // 800 d >>= 2 fmt.Println(d) // 200 d &= 2 fmt.Println(d) // 0 d |= 2 fmt.Println(d) // 2 d ^= 2 fmt.Println(d) // 0 }
运算符优先级: