break外層循環app
func main() { FirstLoop: for i := 0; i < 10; i++ { for j := 0; j < 10; j++ { fmt.Printf("i=%d, j=%d\r\n", i, j) if j == 5 { break FirstLoop } } } fmt.Println("the end") }
range讀取slice函數
func main() { array := [3]int32{1, 2} aslice = array[0:2] for i, v := range aslice { fmt.Printf("[%d]=%d ", i, v) } }
range讀取mapoop
for key, value := range map{ fmt.Println("map's key:", key, " val:", value) }
append slice
code
func test_slice_append1() { array := [2]int32{1, 2} //array={1,2} aslice := array[0:2] //aslice={1,2} aslice = append(aslice, 3) fmt.Println(array) //array={1,2} fmt.Println(aslice) //aslice={1,2,3} aslice[0] = 4 fmt.Println(array) //array={1,2} fmt.Println(aslice) //aslice={4,2,3} } func test_slice_append2() { array := [3]int32{1, 2} //array={1,2,0} aslice := array[0:2] //aslice={1,2} aslice = append(aslice, 3) fmt.Println(array) //array={1,2,3} fmt.Println(aslice) //aslice={1,2,3} aslice[0] = 4 fmt.Println(array) //array={4,2,3} fmt.Println(aslice) //aslice={4,2,3} }
switch case跟C由一點區別,沒有breakit
i := 10 switch i { case 1: fmt.Println("i is equal to 1") case 2, 3, 4: fmt.Println("i is equal to 2, 3 or 4") case 10: fmt.Println("i is equal to 10") default: fmt.Println("All I know is that i is an integer") }
defer很好用,在退出函數時延遲執行,先進後出即按棧方式進行
class