image.png

顺序控制

程序从上到下逐行的执行,中间没有任何判断和跳转。
image.png

分支控制

分支控制就是让程序有选择的执行。

单分支

image.png
image.png

双分支

image.png


多分支

image.png

image.png
image.png

switch分支

image.png
image.png
image.png

switch穿透

fallthrough : 穿透到下一个case判断内部代码,无论下一个case判断结果

  1. func main () {
  2. //var age int
  3. //fmt.Scanln(&age)
  4. switch num := 50 ;{
  5. case num>10:
  6. fmt.Println("ok1")
  7. fallthrough //穿透到下个case判断
  8. case num>100:
  9. fmt.Println("ok2")
  10. }

循环控制

for循环控制

image.png
image.png

for-range循环

forr

  1. var str string = "hello,world!"
  2. for i:=0;i<len(str);i++{
  3. fmt.Printf("%c\n",str[i])
  4. }
  5. for key, value := range str {
  6. fmt.Printf("index=%d,val=%c\n",key,value)
  7. }

for-range遍历方式是按照字符方式遍历,有中文也不会出现乱码,index会自动跳到下一个字符起始位置。

while和do-while

image.png

for实现while
image.png

for实现do-while
image.png

跳转控制

break

break 跳出当前循环 for 或者 switch

也可以指定跳出标签 label1: break label1

continue

continue 结束本次循环,继续下次循环

也可以指定跳出标签 label1: continue label1

goto

image.png

goto label3
label3:

return

函数返回,在函数中详细介绍。