2、流程控制
3、goto, break, continue
4、for range 遍歷,多返回值
go 語言內建的運算子有:算術運算子、關係運算子、邏輯運算子、位運算子、賦值運算子、其他運算子。
運算子描述+相加
-相減*相乘
/相除%求餘
++自增–自減
運算子描述
==檢查兩個值是否相等,如果相等返回 true 否則返回 false。
!=檢查兩個值是否不相等,如果不相等返回 true 否則返回 false。
>
檢查左邊值是否大於右邊值,如果是返回 true 否則返回 false。
<
檢查左邊值是否小於右邊值,如果是返回 true 否則返回 false。
>=
檢查左邊值是否大於等於右邊值,如果是返回 true 否則返回 false。
<=
檢查左邊值是否小於等於右邊值,如果是返回 true 否則返回 false。
運算子描述
&&邏輯 and 運算子。 如果兩邊的運算元都是 true,則條件 true,否則為 false。
||邏輯 or 運算子。 如果兩邊的運算元有乙個 true,則條件 true,否則為 false。
!邏輯 not 運算子。 如果條件為 true,則邏輯 not 條件 false,否則為 true。
運算子描述
&按位與運算子"&"是雙目運算子。 其功能是參與運算的兩數各對應的二進位相與。
|按位或運算子"|"是雙目運算子。 其功能是參與運算的兩數各對應的二進位相或。
^按位異或運算子"^"是雙目運算子。 其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。
<<
左移運算子"<<「是雙目運算子。左移n位就是乘以2的n次方。 其功能把」<<「左邊的運算數的各二進位全部左移若干位,由」<<"右邊的數指定移動的位數,高位丟棄,低位補0。
>>
右移運算子">>「是雙目運算子。右移n位就是除以2的n次方。 其功能是把」>>「左邊的運算數的各二進位全部右移若干位,」>>"右邊的數指定移動的位數。
運算子描述
=簡單的賦值運算子,將乙個表示式的值賦給乙個左值
+=相加後再賦值
-=相減後再賦值
*=相乘後再賦值
/=相除後再賦值
%=求餘後再賦值
<<=
左移後賦值
>>=
右移後賦值
&=按位與後賦值
^=按位異或後賦值
|=按位或後賦值
運算子描述
&取位址符,返回變數儲存位址
*取值符,返回指標的變數
「_」是特殊識別符號,又稱佔位符(空識別符號號),用來忽略結果。
func
main
( a:=
true
if a,b,c :=1,
2,3;a+b+c>
6else
)
go語言沒有while,因為for 可以替代while ,⽀持三種迴圈⽅式,包括類 while 語法。
s :=
"abc"
for i, n :=0,
len(s)
; i < n; i++
n :=
len(s)
for n >
0println
(s[n]
)// 替代 for (; n > 0;) {}
n--}for
println
(s)// 替代 for (;;) {}
}
func
main()
switch
switch a:=1;
}
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 :跳過當前迴圈的剩餘語句,然後繼續進行下一輪迴圈。。也可以配合標籤跳出多層。
func
main()
if i >
1println
(i,":"
, j)}}
fmt.
println
("結束"
)}
n:=[4
]int
for i, v :=
range n
for range 可以用來遍歷陣列、切片、map 等等,,主要特點是方便,有多返回值,可以自由控制,
格式如上, i 表示索引, v表示該索引處的值, 通過:= range 後面跟要遍歷的資料。
當然,可以省略乙個返回值,比如只要值
for
_,v :=
range n
//或者只要索引或者map的key
for i:=
range n
04Go基本語法
toc 1 運算子 go 語言內建的運算子有 算術運算子 關係運算子 邏輯運算子 位運算子 賦值運算子 其他運算子。1 算數運算子 運算子描述 相加 相減 相乘 相除 求餘 自增 自減 2 關係運算子 運算子描述 檢查兩個值是否相等,如果相等返回 true 否則返回 false。檢查兩個值是否不相等...
04Go基本語法
toc 1 運算子 go 語言內建的運算子有 算術運算子 關係運算子 邏輯運算子 位運算子 賦值運算子 其他運算子。1 算數運算子 運算子描述 相加 相減 相乘 相除 求餘 自增 自減 2 關係運算子 運算子描述 檢查兩個值是否相等,如果相等返回 true 否則返回 false。檢查兩個值是否不相等...
知識小結 04go語言定時器
1 go channel channel是golang在語言層面提供的goroutine間的通訊方式,比unix管道更易用也更輕便。channel主要用於程序內各goroutine間通訊,如果需要跨程序通訊,建議使用分布式系統的方法來解決。注 channel可以看作是乙個公共佇列,也可以當成公共佇列...