3. golang 流程控制

3.1 if

if 能夠在執行判斷條件以前加語句 ,語句中變量的生命週期在 if 語句結束後結束code

if  a := rand.Intn(6);a > 4 {
		return 0
	}

3.2 for

Golang 有且只有for來進行循環,沒有while索引

arr := []int{1, 2, 3, 4, 5}
	for i := 0; i < len(arr); i++ {
		fmt.Println(i)
	}
	n := len(arr)
	//  等價於 while 語句
	for n > 0 {
		fmt.Println(n)
	}
	//無限循環
	for {
	}

3.3 switch

Golang 中無需使用 break 語句來跳出 switch。另外,switch 能夠沒有條件,在case中添加判斷語句,至關於if生命週期

var i = 4
	switch i {
	case 0:
		fmt.Println("0")
	case 1:
		fmt.Println("1")
	case 2:
		fmt.Println("2")
	default:
		fmt.Println("Default")
	}

3.4 range

range 用在 for 中來迭代一個 slice 或者一個 mapit

for k,v := range arr {
		fmt.Printf("arr[%v] == %v\n",k,v)
	}
        //  _ 忽略索引
        for _,v := range arr {
		fmt.Println(v)
	}
        // 只須要索引
        for k := range arr {
            fmt.Println(k)
        }
相關文章
相關標籤/搜索