在Go语言中,有很多种运算符,这些运算符的计算顺序是按照一定的规则确定的。这就是所谓的运算符优先级,它可以决定程序的执行顺序。下面web建站小编给大家简单介绍一下!
一、基础运算符
算术运算符
算术运算符包括加(+)、减(-)、乘(*)、除(/)和取余(%)五种,其中优先级从高到低依次为:
括号(())
取反(-x)
乘法、除法和取余(*、/、%)
加法、减法(+、-)
举个例子:
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语言中有哪些运算符优先级?”的全面内容,想了解更多关于 后端开发 内容,请继续关注web建站教程。
当前网址:https://m.ipkd.cn/webs_4851.html
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!