Go语言入门(运算符)
目录
上一篇:二、Go语言入门(变量声明和函数调用)
三、运算符
1. 算术运算符
package main
import "fmt"
func main() {
a := 10
b := 3
fmt.Println("a + b =", a + b) // 输出:13
fmt.Println("a - b =", a - b) // 输出:7
fmt.Println("a * b =", a * b) // 输出:30
fmt.Println("a / b =", a / b) // 输出:3
fmt.Println("a % b =", a % b) // 输出:1
}
2. 关系运算符
package main
import "fmt"
func main() {
a := 10
b := 20
fmt.Println("a == b:", a == b) // 输出:false
fmt.Println("a != b:", a != b) // 输出:true
fmt.Println("a > b:", a > b) // 输出:false
fmt.Println("a < b:", a < b) // 输出:true
fmt.Println("a >= b:", a >= b) // 输出:false
fmt.Println("a <= b:", a <= b) // 输出:true
}
3. 逻辑运算符
package main
import "fmt"
func main() {
a := true
b := false
fmt.Println("a && b:", a && b) // 输出:false
fmt.Println("a || b:", a || b) // 输出:true
fmt.Println("!a:", !a) // 输出:false
fmt.Println("!b:", !b) // 输出:true
}
4. 位运算符
package main
import "fmt"
func main() {
a := 10 // 二进制:1010
b := 3 // 二进制:0011
fmt.Println("a & b:", a & b) // 输出:2 (二进制:0010)
fmt.Println("a | b:", a | b) // 输出:11 (二进制:1011)
fmt.Println("a ^ b:", a ^ b) // 输出:9 (二进制:1001)
fmt.Println("a &^ b:", a &^ b) // 输出:8 (二进制:1000)
fmt.Println("a << 1:", a << 1) // 输出:20 (二进制:10100)
fmt.Println("a >> 1:", a >> 1) // 输出:5 (二进制:0101)
}
5. 赋值运算符
package main
import "fmt"
func main() {
var a int = 10
a += 5 // 相当于 a = a + 5
fmt.Println("a += 5:", a) // 输出:15
a -= 3 // 相当于 a = a - 3
fmt.Println("a -= 3:", a) // 输出:12
a *= 2 // 相当于 a = a * 2
fmt.Println("a *= 2:", a) // 输出:24
a /= 4 // 相当于 a = a / 4
fmt.Println("a /= 4:", a) // 输出:6
a %= 3 // 相当于 a = a % 3
fmt.Println("a %= 3:", a) // 输出:0
a = 8
a <<= 1 // 相当于 a = a << 1
fmt.Println("a <<= 1:", a) // 输出:16
a >>= 2 // 相当于 a = a >> 2
fmt.Println("a >>= 2:", a) // 输出:4
a &= 3 // 相当于 a = a & 3
fmt.Println("a &= 3:", a) // 输出:0
a |= 2 // 相当于 a = a | 2
fmt.Println("a |= 2:", a) // 输出:2
a ^= 3 // 相当于 a = a ^ 3
fmt.Println("a ^= 3:", a) // 输出:1
a &^= 2 // 相当于 a = a &^ 2
fmt.Println("a &^= 2:", a) // 输出:1
}
6. 其他运算符
package main
import "fmt"
func main() {
a := 10
p := &a // 取地址
fmt.Println("Address of a:", p)
fmt.Println("Value of *p:", *p) // 解引用
}
7. 运算符优先级
package main
import "fmt"
func main() {
a := 10
b := 3
c := 2
result := a + b * c // 等同于 a + (b * c)
fmt.Println(result) // 输出:16
result = (a + b) * c
fmt.Println(result) // 输出:26
}
下一篇:四、Go语言入门(条件语句和循环语句)