Go语言运算符优先级
有些运算符拥有较高的优先级,二元运算符的运算方向均是从左至右。所有运算符以及它们的优先级如下表所示。
当然,读者可以通过使用括号来临时提升某个表达式的整体运算优先级。运算符优先级的用法,如下所示。
声明:《Go系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
优先级 | 运算符 |
---|---|
7 | ^ ! |
6 | * / % << >> & &^ |
5 | + - | ^ |
4 | == != < <= >= > |
3 | <- |
2 | && |
1 | || |
当然,读者可以通过使用括号来临时提升某个表达式的整体运算优先级。运算符优先级的用法,如下所示。
package main import "fmt" func main() { var a int = 20 var b int = 10 var c int = 15 var d int = 5 var e int e = (a + b) * c / d fmt.Printf("(a + b) * c / d 的值为:%d\n", e) e = ((a + b) * c) / d fmt.Printf("((a + b) * c) / d 的值为:%d\n", e) e = (a + b) * (c / d) fmt.Printf("(a + b) * (c / d) 的值为:%d\n", e) e = a + (b * c)/d fmt.Printf("a + (b * c) / d 的值为:%d\n", e) }运行结果如下:
(a + b) * c / d 的值为:90
((a + b) * c) / d 的值为:90
(a + b) * (c / d) 的值为:90
a + (b * c) / d 的值为:50
声明:《Go系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。