【Golang 基礎】Go 語言的操作符
阿新 • • 發佈:2018-12-13
Go 語言的運算子 (示例程式碼)
算術運算子
+
:相加;-
:相減;*
:相乘;/
:相除;%
:求餘;++
:自增;--
:自減;
其中,++
與 --
不能用於賦值表示式, 如: count2 := count++
;並且在 Go 語言中,不存在如:++count
表示式。
關係運算符
==
:檢查兩個值是否相等,如果相等返回true
,否則返回false
;!=
:檢查兩個值是否不相等,如果不相等返回true
,否則返回false
;>
:檢查左邊值是否大於右邊值,如果是返回true
,否則返回false
;<
:檢查左邊值是否小於右邊值,如果是返回true
,否則返回false
>=
:檢查左邊值是否大於等於右邊值,如果是返回true
,否則返回false
;<=
:檢查左邊值是否小於等於右邊值,如果是返回true
,否則返回false
;
邏輯運算子
&&
:邏輯AND
運算子。如果兩邊的運算元都是true
,則條件為true
,否則為false
;||
:邏輯OR
運算子。如果兩邊的運算元有一個true
,則條件為true
,否則為false
;!
:邏輯NOT
運算子。如果條件為true
,則邏輯NOT
新增為true
,否則為false
;
位運算子
位運算子是對整數在記憶體中的二進位制進行操作。
&
:按位與運算子。其功能是參與運算的兩個數的二進位制按位對齊,當對應位都為 1 時,才返回 1
fmt.Println(3 & 4) // 0
// 計算過程
// 0011 => 3 的二進位制
// 0100 => 4 的二進位制
// &
// ---------------------------
// 0000 => 0 的二進位制
|
:按位或運算子。其功能是參與運算的兩個數的二進位制按位對齊,當對應位中只要有一位是 1,就返回 1;
fmt.Println(3 | 4) // 7 // 計算過程 // 0011 => 3 的二進位制 // 0100 => 4 的二進位制 // & // --------------------------- // 0111 => 7 的二進位制
^
:按位異或運算子。其是參與運算的兩個數的二進位制按位對齊,當對應位有一位是 1,就返回 1;如果對應兩位都是 1 或 0,就返回 0;
fmt.Println(25 ^ 3) // 26
// 計算過程
// 0001 1001 => 25 的二進位制
// 0000 0011 => 3 的二進位制
// ^
// ---------------------------
// 0001 1010 => 26 的二進位制
<<
:左移運算子。其功能是將數值的二進位制所有位向左移動指定的位數;
fmt.Println(3 << 3) // 24
// 計算過程
// 0000 0011 => 3 的二進位制
// 3
// <<
// ---------------------------
// 0001 1000 => 24 的二進位制
>>
:右移運算子。其功能是將數值的二進位制所有位向右移動指定的位數;
fmt.Println(3 >> 3) // 0
// 計算過程
// 0000 0011 => 3 的二進位制
// 3
// >>
// ---------------------------
// 0000 0000 => 0 的二進位制
賦值運算子
=
:簡單的賦值運算子,將一個表示式的值賦給一個左值;+=
:相加後再賦值;-=
:相減後再賦值;*=
:相乘後再賦值;/=
:相除後再賦值;%=
:取餘後再賦值;&=
:按位與後賦值;|=
:按位或後賦值;^=
:按位異或後賦值;<<=
:左位移後賦值;>>=
:右位移後賦值;