這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
1.基礎知識補充(指標、遞增遞減語句)
指標
go雖然保留了指標,但是與其它程式設計語言不同的是,在go當中不支援指標運算以及"->"運算子,而直接採用"." 選擇符來操作指標目標對象的成員
- 操作符"&"取變數地址,使用"*"通過指標間接訪問目標對象
在go中,++與--是作為語句而並不是作為運算式
a := 1a++//但不能這樣:a := a++,只能作為單獨的語句獨佔一行
2.if判斷語句
func main(){ a := 10 if a:=1 { fmt.Println(a) } fmt.Println(a) }//輸出為: 1 10
3.for迴圈語句
//第一種(同其他語言的while true {}):func main() { a := 1 for { a++ if a > 3{ break } } fmt.Println(a)}//第二種(同其他語言的:while a <= 3 {}): func main() { a := 1 for a <= 3 { a++ } fmt.Println(a)}//第三種:func main() { a := 1 for i := 0; i <= 3; i++ { a++ } fmt.Println(a)}
4.switch選擇語句
go語言中無須對每個case手動書寫break以阻止程式繼續向下匹配。如果要達到繼續匹配的目的可以使用關鍵字:fallthrough
func main() { a := 1 switch a { case 0: fmt.Println("a=0") case 1: fmt.Println("a=1") } fmt.Println(a)} func main() { a := 1 switch { case a >= 0: fmt.Println("a=0") fallthrough case a >= 1: fmt.Println("a=1") } fmt.Println(a)}//此時a的範圍只在switch運算式之內func main() { switch a := 1 { case a >= 0: fmt.Println("a=0") fallthrough case a >= 1: fmt.Println("a=1") } fmt.Println(a)}
5.跳躍陳述式
break、continue、goto 配合標籤使用