2 回答

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊
您鏈接到的頁面是錯(cuò)誤的。Go 只有一個(gè)規(guī)范,運(yùn)算符優(yōu)先級(jí)非常清楚:
二元運(yùn)算符有五個(gè)優(yōu)先級(jí)。乘法運(yùn)算符綁定最強(qiáng),其次是加法運(yùn)算符、比較運(yùn)算符、&&(邏輯與),最后是 || (邏輯或):
5 * / % << >> & &^
4 + - | ^
3 == != < <= > >=
2 &&
1 ||
相同優(yōu)先級(jí)的二元運(yùn)算符從左到右關(guān)聯(lián)。例如,x / y * z 與 (x / y) * z 相同。
乘法和移位具有相同的優(yōu)先級(jí),因此適用“從左到右”規(guī)則,使您的代碼相當(dāng)于(1 << 3) * log2Dim
請(qǐng)注意,從左到右表示在代碼中,而不是在優(yōu)先級(jí)表中。從規(guī)范中給出的示例可以看出這一點(diǎn)。

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊
二元運(yùn)算符有五個(gè)優(yōu)先級(jí)。*
并且<<
具有相同的優(yōu)先級(jí): 5. 相同優(yōu)先級(jí)的二元運(yùn)算符從左到右關(guān)聯(lián),所以1 << 3 * log2Dim
等價(jià)于(1 << 3) * log2Dim
。
來源:https ://golang.org/ref/spec#Operators
- 2 回答
- 0 關(guān)注
- 267 瀏覽
添加回答
舉報(bào)