在 Go 语言中,运算符和表达式的优先级是通过比较运算符 (.) 和逗号运算符 (,) 来确定的。以下是 Go 语言中运算符和表达式的优先级:
-
算术运算符 (+, -, *, /, %, >=, <=, >, <, ==, !=):算术运算符的优先级最高,它们会先计算。
-
比较运算符 (==, !=, <=, >=, >, <):比较运算符的优先级次高,它们会跟随算术运算符计算。
-
位运算符 (&, |,<<, >>, ^, ~):位运算符的优先级第三高,它们会按照从左到右的顺序计算。
-
赋值运算符 (=, +=, -=, *=, /=, %=, |=, &=, <<=, >>=):赋值运算符的优先级次低,它们会跟随比较运算符和位运算符计算。
-
其他运算符 (+, -, *, /, %, >=, <=, >, <, &&, ||,!):其他运算符的优先级最低,它们会最后计算。
例如,以下代码会输出 "Hello World":
Copy code
package main import "fmt" func main() { x := 5 y := 10 z := x + y // z 的值为 15 fmt.Println(x, y, z) }
在上面的代码中,算术运算符 (+, -, *, /) 的优先级最高,它们会先计算。因此,变量 x 的值为 5,变量 y 的值为 10,变量 z 的值为 15。