Golang的流程控制

流程控制

  • 条件语句

例:

var b bool = true
if b{
	fmt.Print("b是True")
}else{
	fmt.Print("b是false")
}

条件语句注意事项:

  1. 条件语句不需要使用括号将条件包含起来();
  2. 无论语句体内有几条语句,花括号{}都是必须存在的;
  3. 左花括号{必须与if或者else处于同一行;
  4. 在if之后,条件语句之前,可以添加变量初始化语句,使用;间隔;
  5. 在有返回值的函数中,不允许将“最终的”return语句包含在if...else...结构中,
    否则会编译失败:

例如:

func example(x int) int {
if x == 0 {
    return 5
    } else {
    return x
    }
}
  • 选择语句:
	i := 2
	switch i{
	case 0:
		fmt.Print("i == 0")
	case 1:
		fmt.Print("i == h1")
	case 2:
		fallthrough
	case 3,4,5:
		fmt.Print("3,4,5")
	default:
		fmt.Print("default")
	}

switch也可以写成这样:

switch {
    case 0 <= Num && Num <= 3:
        fmt.Printf("0-3")
    case 4 <= Num && Num <= 6:
        fmt.Printf("4-6")
    case 7 <= Num && Num <= 9:
        fmt.Printf("7-9")
}

注意事项:

  1. 左花括号{必须与switch处于同一行;
  2. 条件表达式不限制为常量或者整数
  3. 单个case中,可以出现多个结果选项;
  4. 与C语言等规则相反,Go语言不需要用break来明确退出一个case;
  5. 只有在case中明确添加fallthrough关键字,才会继续执行紧跟的下一个case;
  6. 可以不设定switch之后的条件表达式,在此种情况下,整个switch结构与多个
    if...else...的逻辑作用等同
  • 循环语句

Golang循环只支持for关键字,不支持while和do while

sum := 0
for i := 0;i<10;i++{
    sum += 1
}

go语言中的无限循环

sum := 0
for{
    sum ++
    fmt.printin(sum)
}

go语言的for循环同样支持continue和break来循环控制

	for i := 0;i<5;i++{
		for j := 0 ;j < 10;j++{
			if j == 5{
				continue //结束当前循环
			}
			fmt.Println(j)
		}
		if !(i == 3 || i >3){
			fmt.Println("取反")
		}else{
			break
			// 结束当前循环
		}

	}
  • 跳转语句
func myfunc() {
	i := 0
	HERE:
	fmt.Println(i)
	i++
	if i < 10 {
		goto HERE
	}
}
posted @ 2019-04-02 16:48  Wualin  阅读(191)  评论(0编辑  收藏  举报