Go 運算子 控制語句

2021-10-12 08:29:05 字數 2854 閱讀 1215

假定 a 值為 10,b 值為 20。

3.1.1 算數運算子

運算子描述例項+

相加a + b 輸出結果 30-相減

a - b 輸出結果 -10*相乘

a * b 輸出結果 200/相除

b / a 輸出結果 2%求餘

b % a 輸出結果 0

++自增

a++ 輸出結果 11–自減

a-- 輸出結果 9

3.1.2 關係運算子

運算子描述

==檢查兩個值是否相等,如果相等返回 true 否則返回 false。

!=檢查兩個值是否不相等,如果不相等返回 true 否則返回 false。

>

檢查左邊值是否大於右邊值,如果是返回 true 否則返回 false。

<

檢查左邊值是否小於右邊值,如果是返回 true 否則返回 false。

>=

檢查左邊值是否大於等於右邊值,如果是返回 true 否則返回 false。

<=

檢查左邊值是否小於等於右邊值,如果是返回 true 否則返回 false。

3.1.3 邏輯運算子

運算子描述

&&邏輯 and 運算子。 如果兩邊的運算元都是 true,則條件 true,否則為 false。

| |邏輯 or 運算子。 如果兩邊的運算元有乙個 true,則條件 true,否則為 false。

!邏輯 not 運算子。 如果條件為 true,則邏輯 not 條件 false,否則為 true。

3.1.4 位運算子,假定 a 為60,b 為13

運算子描述

&按位與運算子"&"是雙目運算子。 其功能是參與運算的兩數各對應的二進位相與。

|按位或運算子"|"是雙目運算子。 其功能是參與運算的兩數各對應的二進位相或

^按位異或運算子"^"是雙目運算子。 其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。

<<

左移運算子"<<「是雙目運算子。左移n位就是乘以2的n次方。 其功能把」<<「左邊的運算數的各二進位全部左移若干位,由」<<"右邊的數指定移動的位數,高位丟棄,低位補0。

>>

右移運算子">>「是雙目運算子。右移n位就是除以2的n次方。 其功能是把」>>「左邊的運算數的各二進位全部右移若干位,」>>"右邊的數指定移動的位數。

3.1.5 賦值運算子

運算子描述例項=

簡單的賦值運算子,將乙個表示式的值賦給乙個左值

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

3.1.6 其他運算子

運算子描述例項&

返回變數儲存位址

&a; 將給出變數的實際位址。

*指標變數

*a; 是乙個指標變數

3.1.7 優先順序

優先順序運算子

5* / % << >> & &^

4+ - | ^

3== != < <= > >=2&&

1||3.2.1 條件語句

指定乙個或多個條件,並通過測試條件是否為 true 來決定是否執行指定語句,並在條件為 false 的情況在執行另外的語句。

3.2.1.1 if語句

3.2.1.2 switch語句

switch x.

(type

)

解釋:從第乙個判斷表示式為 true 的 case 開始執行,如果 case 帶有 fallthrough,程式會繼續執行下一條 case,且它不會去判斷下乙個 case 的表示式是否為 true。

支援多條件匹配

不同的 case 之間不使用 break 分隔,預設只會執行乙個 case

如果想要執行多個 case,需要使用 fallthrough 關鍵字,也可用 break 終止

3.2.1.3 select語句

select

3.2.3 迴圈語句

3.2.3.1 for迴圈

for init; condition; post 

//for

for condition

//while

forinit: 一般為賦值表示式,給控制變數賦初值;

condition: 關係表示式或邏輯表示式,迴圈控制條件;

post: 一般為賦值表示式,給控制變數增量或減量。

for 迴圈的 range 格式可以對 slice、map、陣列、字串等進行迭代迴圈:

for key, value :=

range oldmap

statement

(s);

}

3.2.3.2 迴圈控制語句

break語句:

goto:無條件轉移到過程中指定行,與條件語句配合,實現條件轉移、構成迴圈、跳出迴圈體等(不建議用,造成混亂)

Go 運算子 控制語句

算數運算子 加減乘除 取餘 自增 自減 關係運算子 邏輯運算子 位運算子 賦值運算子 運算子描述 簡單的賦值運算子,將乙個表示式的值賦給乙個左值 相加後再賦值 相減後再賦值 相乘後再賦值 相除後再賦值 求餘後再賦值 左移後賦值 右移後賦值 按位與後賦值 按位異或後賦值 優先順序 2.1條件語句 2....

運算子 控制語句

3.運算子 控制語句 3.1 運算子 假定 a 值為 10,b 值為 20。3.1.1 算數運算子 運算子 描述 例項 檢查左邊值是否大於右邊值,如果是返回 true 否則返回 false。檢查左邊值是否小於右邊值,如果是返回 true 否則返回 false。檢查左邊值是否大於等於右邊值,如果是返回...

Go小白入門3 運算子 控制語句

2 條件語句 2.3 select 語句 3 迴圈語句 4.小練習 5.參考資料 注意 自增,自減只能作為表示式使用,而不能用於賦值語句 不允許 會有編譯錯誤 syntax error unexpected at end of statement a a 當變數前面有 標識時,才等同於 的用法,否則...