新聞中心
運算符是用來在程序運行時執(zhí)行數(shù)學或邏輯運算的,在Go語言中,一個表達式可以包含多個運算符,當表達式中存在多個運算符時,就會遇到優(yōu)先級的問題,此時應(yīng)該先處理哪個運算符呢?這個就由Go語言運算符的優(yōu)先級來決定的。

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、做網(wǎng)站、衢江網(wǎng)絡(luò)推廣、小程序定制開發(fā)、衢江網(wǎng)絡(luò)營銷、衢江企業(yè)策劃、衢江品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供衢江建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
比如對于下面的表達式:
var a, b, c int = 16, 4, 2
d := a + b*c
對于表達式
a + b * c,如果按照數(shù)學規(guī)則推導(dǎo),應(yīng)該先計算乘法,再計算加法;
b * c的結(jié)果為 8,
a + 8的結(jié)果為 24,所以 d 最終的值也是 24。實際上Go語言也是這樣處理的,先計算乘法再計算加法,和數(shù)據(jù)中的規(guī)則一樣,讀者可以親自驗證一下。
先計算乘法后計算加法,說明乘法運算符的優(yōu)先級比加法運算符的優(yōu)先級高。
所謂優(yōu)先級,就是當多個運算符出現(xiàn)在同一個表達式中時,先執(zhí)行哪個運算符。
Go語言有幾十種運算符,被分成十幾個級別,有的運算符優(yōu)先級不同,有的運算符優(yōu)先級相同,請看下表。
| 優(yōu)先級 | 分類 | 運算符 | 結(jié)合性 |
|---|---|---|---|
| 1 | 逗號運算符 | , | 從左到右 |
| 2 | 賦值運算符 | =、+=、-=、*=、/=、 %=、 >=、 <<=、&=、^=、|= | 從右到左 |
| 3 | 邏輯或 | || | 從左到右 |
| 4 | 邏輯與 | && | 從左到右 |
| 5 | 按位或 | | | 從左到右 |
| 6 | 按位異或 | ^ | 從左到右 |
| 7 | 按位與 | & | 從左到右 |
| 8 | 相等/不等 | ==、!= | 從左到右 |
| 9 | 關(guān)系運算符 | <、<=、>、>= | 從左到右 |
| 10 | 位移運算符 | <<、>> | 從左到右 |
| 11 | 加法/減法 | +、- | 從左到右 |
| 12 | 乘法/除法/取余 | *(乘號)、/、% | 從左到右 |
| 13 | 單目運算符 | !、*(指針)、& 、++、--、+(正號)、-(負號) | 從右到左 |
| 14 | 后綴運算符 | ( )、[ ]、-> | 從左到右 |
注意:優(yōu)先級值越大,表示優(yōu)先級越高。
一下子記住所有運算符的優(yōu)先級并不容易,還好Go語言中大部分運算符的優(yōu)先級和數(shù)學中是一樣的,大家在以后的編程過程中也會逐漸熟悉起來。如果實在搞不清,可以加括號,就像下面這樣:
d := a + (b * c)
括號的優(yōu)先級是最高的,括號中的表達式會優(yōu)先執(zhí)行,這樣各個運算符的執(zhí)行順序就一目了然了。
運算符的結(jié)合性是指相同優(yōu)先級的運算符在同一個表達式中,且沒有括號的時候,操作數(shù)計算的順序,通常有從左到右和從右到左兩種方式,例如,
+ 加法運算符的結(jié)合性是從左到右,那么表達式
a + b + c 則可以理解為為
(a + b) + c。
當前名稱:創(chuàng)新互聯(lián)GO教程:Go語言運算符的優(yōu)先級
鏈接地址:http://fisionsoft.com.cn/article/codpoed.html


咨詢
建站咨詢
