04Go基本語法

2021-09-12 18:59:12 字數 2475 閱讀 3958

[toc]

1、運算子

go 語言內建的運算子有:算術運算子、關係運算子、邏輯運算子、位運算子、賦值運算子、其他運算子。

(1)算數運算子

運算子描述+相加

-相減*相乘

/相除%求餘

++自增

--自減

(2)關係運算子

運算子描述

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

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

>

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

<

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

>=

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

<=

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

(3)邏輯運算子

運算子描述

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

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

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

(4)位運算子

運算子描述

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

\按位或運算子"\

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

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

<<

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

>>

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

(5)賦值運算子

運算子描述

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

+=相加後再賦值

-=相減後再賦值

*=相乘後再賦值

/=相除後再賦值

%=求餘後再賦值

<<=

左移後賦值

>>=

右移後賦值

&=按位與後賦值

^=按位異或後賦值\=

按位或後賦值

(6)其他運算子

運算子描述

&取位址符,返回變數儲存位址

*取值符,返回指標的變數

特殊識別符號 '_'

「_」是特殊識別符號,又稱佔位符(空識別符號號),用來忽略結果。

2、流程控制

(1) if

func main(

a:=true

if a,b,c :=1,2,3;a+b+c>6else

)

(2)for

go語言沒有while,因為for 可以替代while ,⽀持三種迴圈⽅式,包括類 while 語法。

s := "abc"

for i, n := 0, len(s); i < n; i++

n := len(s)

for n > 0

println(s[n]) // 替代 for (; n > 0;) {}

n--}for

println(s) // 替代 for (;;) {}

}

(3)switch
func main()

switch

switch a:=1;

}

3、goto, break, continue

go 語言支援 goto、break、continue 三種迴圈控制語句,三個語句都可以配合標籤( label )使用,標籤名區分大小寫,定義後不使用會造成編譯錯誤。

func main() 

}break:

println("break")

exit: // error: label exit defined and not used

}

注意,goto、continue、break語句跳出到標籤,一定要注意標籤的位置,避免死迴圈。

注意:goto語句與標籤之間不能有變數宣告,否則編譯錯誤。

func main() //會引發編譯錯誤
break 語句跳出當前迴圈。可以配合標籤使用跳出多層迴圈。

continue :跳過當前迴圈的剩餘語句,然後繼續進行下一輪迴圈。。也可以配合標籤跳出多層。

04 Go基本語法

2 流程控制 3 goto,break,continue 4 for range 遍歷,多返回值 go 語言內建的運算子有 算術運算子 關係運算子 邏輯運算子 位運算子 賦值運算子 其他運算子。運算子描述 相加 相減 相乘 相除 求餘 自增 自減 運算子描述 檢查兩個值是否相等,如果相等返回 tru...

04Go基本語法

toc 1 運算子 go 語言內建的運算子有 算術運算子 關係運算子 邏輯運算子 位運算子 賦值運算子 其他運算子。1 算數運算子 運算子描述 相加 相減 相乘 相除 求餘 自增 自減 2 關係運算子 運算子描述 檢查兩個值是否相等,如果相等返回 true 否則返回 false。檢查兩個值是否不相等...

知識小結 04go語言定時器

1 go channel channel是golang在語言層面提供的goroutine間的通訊方式,比unix管道更易用也更輕便。channel主要用於程序內各goroutine間通訊,如果需要跨程序通訊,建議使用分布式系統的方法來解決。注 channel可以看作是乙個公共佇列,也可以當成公共佇列...