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笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
ICP备案:
公安联网备案: