banner
Pi3

Pi3

记录学习、生活和成长
github
telegram
x
zhihu
email

Go語言入門5:運算符

Go 語言入門基礎學習筆記之 Go 語言的運算符

golang

運算符#

Go 語言內置的運算符有:

  • 算術運算符
  • 關係運算符
  • 邏輯運算符
  • 位運算符
  • 赋值運算符
  • 其他運算符

算術運算符#

A = 10, B = 20

運算符描述實例
+相加A + B 輸出結果 30
-相減A - B 輸出結果 -10
*相乘A * B 輸出結果 200
/相除B / A 輸出結果 2
%求餘B % A 輸出結果 0
++自增A++ 輸出結果 11
--自減A-- 輸出結果 9

關係運算符#

A = 10, B = 20

運算符描述實例
==檢查兩個值是否相等,如果相等返回 True 否則返回 False。(A == B) 為 False
!=檢查兩個值是否不相等,如果不相等返回 True 否則返回 False。(A != B) 為 True
>檢查左邊值是否大於右邊值,如果是返回 True 否則返回 False。(A > B) 為 False
<檢查左邊值是否小於右邊值,如果是返回 True 否則返回 False。(A < B) 為 True
>=檢查左邊值是否大於等於右邊值,如果是返回 True 否則返回 False。(A >= B) 為 False
<=檢查左邊值是否小於等於右邊值,如果是返回 True 否則返回 False。(A <= B) 為 True

邏輯運算符#

A = True, B = False

運算符描述實例
&&邏輯 AND 運算符。如果兩邊的操作數都是 True,則條件 True,否則為 False。(A && B) 為 False
||邏輯 OR 運算符。如果兩邊的操作數有一個 True,則條件 True,否則為 False。(A | B) 為 True
!邏輯 NOT 運算符。如果條件為 True,則邏輯 NOT 條件 False,否則為 True。!(A && B) 為 True

位運算符#

位運算符對整數在記憶體中的二進位進行操作。

$p$$q$$p$ & $q$$p\ {\mid}\ q$$p$ ^ $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

Go 語言支持的位運算符如下表所示。假定 A 為 60,B 為 13。

運算符描述實例
&按位與運算符 & 是雙目運算符。其功能是參與運算的兩數各對應的二進位相與。(A & B) 結果為 12, 二進位為 0000 1100
|按位或運算符|是雙目運算符。其功能是參與運算的兩數各對應的二進位相或(A | B) 結果為 61, 二進位為 0011 1101
^按位異或運算符 ^ 是雙目運算符。其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為 1。(A ^ B) 結果為 49, 二進位為 0011 0001
<<左移運算符 << 是雙目運算符。左移 n 位就是乘以 2 的 n 次方。其功能把 << 左邊的運算數的各二進位全部左移若干位,由 << 右邊的數指定移動的位數,高位丟棄,低位補 0。A << 2 結果為 240 ,二進位為 1111 0000
>>右移運算符 >> 是雙目運算符。右移 n 位就是除以 2 的 n 次方。其功能是把 >> 左邊的運算數的各二進位全部右移若干位,>> 右邊的數指定移動的位數。A >> 2 結果為 15 ,二進位為 0000 1111

赋值运算符#

運算符描述實例
=簡單的賦值運算符,將一個表達式的值賦給一個左值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
|=按位或後賦值C |= 2 等於 C = C | 2

= 可以同時給多個變量賦值,如 c, d = b, a,這樣將 b 賦值給 c,a 賦值給 d。

其他運算符#

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

運算符優先級#

有些運算符擁有較高的優先級,二元運算符的運算方向均是從左至右。下表列出了所有運算符以及它們的優先級,由上至下代表優先級由高到低

優先級運算符
5* / % << >> & &^
4+ - | ^
3== != < <= > >=
2&&
1||

可以通過使用括號 () 來臨時提升某個表達式的整體運算優先級

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。