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)
        }
相关文章
相关标签/搜索