跳至主要內容

运算符

Mr.Liu小于 1 分钟Go

运算符

在 Go 中,常用的运算符包括:

算术运算符:+​(加)、-​(减)、*​(乘)、/​(除)、%​(取余)。

a := 10
b := 3
fmt.Println(a + b) // 13
fmt.Println(a - b) // 7
fmt.Println(a * b) // 30
fmt.Println(a / b) // 3
fmt.Println(float64(a) / float64(b) // 3.3333333333333335
fmt.Println(a % b) // 1

比较运算符:==​(等于)、!=​(不等于)、<​(小于)、>​(大于)、<=​(小于等于)、>=​(大于等于)。

a := 10
b := 3
fmt.Println(a == b) // false
fmt.Println(a != b) // true
fmt.Println(a < b)  // false
fmt.Println(a > b)  // true
fmt.Println(a <= b) // false
fmt.Println(a >= b) // true

逻辑运算符:&&​(逻辑与)、||​(逻辑或)、!​(逻辑非)。

a := true
b := false
fmt.Println(a && b) // false
fmt.Println(a || b) // true
fmt.Println(!a)    // false

位运算符:&​(按位与)、|​(按位或)、^​(按位异或)、<<​(左移)、>>​(右移)。

a := 0b1010 // 10
b := 0b1100 // 12
fmt.Printf("%b\n", a&b)  // 1000(按位与)
fmt.Printf("%b\n", a|b)  // 1110(按位或)
fmt.Printf("%b\n", a^b)  // 0110(按位异或)
fmt.Printf("%b\n", a<<1) // 10100(左移)
fmt.Printf("%b\n", b>>1) // 110(右移)

赋值运算符:=​, +=​, -=​, *=​, /=​, %=​,&=​, |=​, ^=​, <<=​, >>=​。

a := 10
a += 5 // 等价于 a = a + 5
fmt.Println(a) // 15

b := 3
b *= 4 // 等价于 b = b * 4
fmt.Println(b) // 12