在 Go 语言中,有很多种运算符,这些运算符的计算顺序是按照一定的规则来确定的,这就是所谓的运算符优先级,它能够决定程序执行顺序。本文将介绍 Go 语言中的运算符优先级。
一、基础运算符
算术运算符包括加(+)、减(-)、乘(*)、除(/)和取余(%)五种,其中优先级从高到低依次为:
举个例子:
a := 10 + 202 // 先乘法,再加法,等价于 a := 10 + (202) = 50
b := (10 + 20) 2 // 使用括号,先加法,再乘法,等价于 b := (10+20) 2 = 60
关系运算符包括等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=)六种,其中优先级从高到低依次为:
举个例子:
a := 10 > 5 && 5 < 3 || 4 > 2 // 先执行 &&,再执行 ||,等价于 a := (10 > 5 && 5 < 3) || (4 > 2) = true
逻辑运算符包括取反(!)、与(&&)和或(||)三种,其中优先级从高到低依次为:
举个例子:
a := true || false && !true // 先执行 !,再执行 &&,最后执行 ||,等价于 a := true || false = true
二、位运算符
位运算符包括按位与(&)、按位或(|)、异或(^)、左移(<<)和右移(>>)五种,其中优先级从高到低依次为:
举个例子:
a := 1 << 2 & 3 | 4 ^ 5 >> 2 // 先执行 <<、>>,再执行 &、^,最后执行 |,等价于 a := 0 | 1 = 1
三、赋值运算符
赋值运算符包括等于(=)、加等于(+=)、减等于(-=)、乘等于(*=)、除等于(/=)、取余等于(%=)、左移等于(<<=)、右移等于(>>=)、按位与等于(&=)、按位或等于(|=)和按位异或等于(^=)十一种,其中优先级从低到高依次为:
举个例子:
a, b := 1, 2
a += b + 3 4 // 先执行乘法,再执行加法,最后执行 +=,等价于 a = a + (b + 3 4) = 15
通过了解 Go 语言中各种运算符的优先级,我们可以更加准确地写出程序,并且更好地理解程序的计算过程。
以上是Go 语言中的运算符优先级有哪些?的详细内容。更多信息请关注PHP中文网其他相关文章!