任何一个语言,都有他的流程控制模块,而且都相差不大,go语言也不例外。
go语言的流程控制分三块:
1 条件选择 通过条件的不同,选择不同的程序执行流程,有if else else if ,switch case,
2 循环 满足条件后,重复执行程序流程,有for, range
3 跳转 根据条件,跳转到不同的执行流程,有 goto
未了丰富流程控制的场景使用,还添加了关键字 break,continue,fallthrough
if else else if
同java语言
if a > 1 { return 1 }else if a < 1 && a > -1 { return 0 } else { return -1 }
不同的是,if的条件,没有用括号包含
switch case
switch a { case 0: fmt.Printf("0") case 1: fmt.Printf("1") case 2: fallthrough case 3: fmt.Printf("3") case 4, 5, 6: fmt.Printf("4, 5, 6") default: fmt.Printf("Default") }
fallthrough 表示a=2时,执行a=3的条件语句
for
sum := 0 for i := 0; i < 5; i++ { sum += i }
记得java中实现无线循环有 for(;;) , while() {} 或者 do{} while(),而在go中,可简化成
for { sum++ if sum > 100 { break } }
goto
i := 0 LOOP: fmt.Println(i) i++ if i < 5 { goto HERE }