<object id="oakae"></object><object id="oakae"></object>
<bdo id="oakae"><label id="oakae"></label></bdo>
<code id="oakae"><samp id="oakae"></samp></code>
  • <code id="oakae"></code><input id="oakae"><label id="oakae"></label></input><bdo id="oakae"><samp id="oakae"></samp></bdo>

    JSON在線解析

    Go語言運算符

    Go語言運算符優先級,是描述在計算機運算計算表達式時執行運算的先后順序。 先執行具有較高優先級的運算,然后執行較低優先級的運算。 例如,我們常說的先執行相乘和除,再執行加減運算。

    Go 語言內置的運算符

    1. 算術運算符

    2. 關系運算符

    3. 邏輯運算符

    4. 位運算符

    5. 賦值運算符

    6. 其他運算符

    下面我們來對應Go語言各個運算符,算術、關系、邏輯、按位、賦值和其他運算符的詳細講解。

    一、Go語言 算術運算符

    下表顯示了Go語言支持的所有算術運算符。假設變量 A 的值為 10,變量 B 的值為 20,則:

    運算符描述示例
    +添加兩個操作數A+B=30
    -從第一個操作數中減去第二個操作數A-B=10
    *將兩個操作數相乘A*B=200
    /將分子除以分母B/A=2
    %模數運算符,以及整數除法的余數B%A=0
    ++增加(遞增)運算符,將整數值加一A++=11
    --相減(遞減)運算符,將整數值減一A—=9

    二、Go語言 關系運算符

    下表顯示了Go語言支持的所有關系運算符。假設變量 A 的值為 10,變量 B 的值為 20,則:

    運算符描述示例
    ==檢查兩個操作數的值是否相等,如果相等,則條件為真。(A==B)結果為假
    !=檢查兩個操作數的值是否相等,如果值不相等,則條件為真。(A!=B)結果為真
    >檢查左操作數的值是否大于右操作數的值,如果是,則條件為真。(A>B)結果為假
    <檢查左操作數的值是否小于右操作數的值,如果是,則條件為真。(A<B)結果為真
    >=檢查左操作數的值是否大于或等于右操作數的值,如果是,則條件為真。(A>=B)結果為假
    <=檢查左操作數的值是否小于或等于右操作數的值,如果是,則條件為真。(A<=B)結果為真

    三、Go語言 邏輯運算符

    下表顯示了Go語言支持的所有邏輯運算符。假設變量A的值為1,變量B的值為0,則:

    運算符描述示例
    &&邏輯AND運算符。如果兩個操作數都不為零,則條件為真。(A&&B)結果為真
    ||邏輯OR運算符。如果兩個操作數中的任何一個非零,則條件變為真。(A||B)結果為真
    !邏輯非運算符。用于反轉其操作數的邏輯狀態。如果條件為真,則邏輯非運算符將為假。!(A&&B)結果為真

    四、Go語言 位運算符

    按位操作符對位進行操作,并執行逐位操作。 |^的真值表如下:

    pqp&qp|qp^q
    00000
    01011
    11110
    10011

    假設A = 60, B = 13; 現在的二進制格式,如下:

    A = 0011 1100
    
    B = 0000 1101
    
    -----------------
    
    A&B = 0000 1100
    
    A|B = 0011 1101
    
    A^B = 0011 0001
    
    ~A  = 1100 0011

    Go語言支持的位運算符,如在下表中所列。 假設變量A=60,并且變量B=13,則:

    運算符描述示例
    &如果兩個操作數中都存在二進制AND運算符,則將其復制到結果。(A&B)結果為12,也就是0000 1100
    |二進制OR運算符復制一個位,如果它存在于任一操作數。(A|B)結果為61,也就是0011 1101
    ^二進制XOR運算符復制位,如果它在一個操作數中設置,但不是在兩個操作數中設置。(A^B)結果為49,也就是0011 0001
    <<二進制左移位運算符。左操作數值向左移動由右操作數指定的位數。A<<2結果為240,也就是1111 0000
    >>二進制右移運算符。左操作數值向右移動由右操作數指定位數。A>>2結果為15,也就是0000 1111

    五、Go語言 賦值運算符

    Go語言支持以下賦值運算符:

    運算符描述示例
    =簡單賦值操作符,將值從右側操作數分配給左側操作數C=A+B,就是將A+B的值賦給C
    +=相加和賦值運算符,向左操作數添加右操作數,并將結果賦給左操作數C+=A相當于C=C+A
    -=減去和賦值運算符,從左操作數中減去右操作數,并將結果賦給左操作數C-=A相當于C=C-A
    *=乘法和賦值運算符,它將右操作數與左操作數相乘,并將結果賦給左操作數C*=A相當于C=C*A
    /=除法和賦值運算符,它用右操作數劃分左操作數,并將結果分配給左操作數C/=A相當于C=C/A
    %=模數和賦值運算符,它使用兩個操作數來取模,并將結果分配給左操作數C%=A相當于C=C%A
    <<=左移和賦值運算符C<<=2相當于C=C<<2
    >>=右移和賦值運算符C>>=2相當于C=C>>2
    &=按位和賦值運算符C&=2相當于C=C&2
    ^=按位異或和賦值運算符C^=2相當于C=C^2
    |=按位包含OR和賦值運算符C|=2相當于C=C|2

    六、Go語言 其他運算符

    還有一些其他重要的運算符包括sizeof? :,在Go語言中也是支持的。

    運算符描述示例
    &返回變量的地址&a將給出變量a的實際地址。
    *指向變量的指針*a是指向變量a的指針。

    Go語言中的運算符優先級

    運算符優先級確定表達式中的分組。這會影響表達式的計算方式。某些運算符比其他運算符具有更高的優先級; 例如,乘法運算符比加法運算符有更高的優先級。

    當同級別的運算符出現在同一個表達式中,從左到右的順序計算,比如乘除一起,不管是乘在前面還是除在前面都是從左到右計算乘、除運算符。加減亦是如此。

    例如:x = 7 + 3 * 2; 這里,計算結果x被分配13,而不是20,因為運算符 *具有比+有更的優先級,所以它首先乘以3 * 2,然后加上7

    這里,具有最高優先級的運算符放在表的頂部,具有最低優先級的運算符出現在底部。 在表達式中,將首先計算較高優先級運算符。

    分類描述關聯性
    后綴()[]->.++ --左到右
    一元+ -!~++ --(type)*&sizeof右到左
    乘法*/ %左到右
    加法+ -左到右
    移位<<>>左到右
    關系<<=>>=左到右
    相等==!=左到右
    按位AND&左到右
    按位XOR^左到右
    按位OR|左到右
    邏輯AND&&左到右
    邏輯OR||左到右
    條件?:右到左
    分配=+=-=*=/= %=>>= <<= &= ^= |=右到左
    逗號,左到右

    工具導航地圖

    甘肃11选5软件