控制流程

57 阅读1分钟

一、条件判断

condition:条件/布尔表达式

1. if 语句

if condition{
	//条件为真时执行
}

2. if...else语句

if condition{
	//true时执行
}  else if{
	//false时执行
}

3. if 嵌套语句

在 if 或 else if 语句中嵌入一个或多个 if 或 else if 语句。在实际编程中不建议有太多嵌套

4. switch

switch 语句:基于不同条件执行不同动作,后面不跟表达式则会对true进行匹配

image.png

二、循环处理

for

Go 语言仅支持 for 这一个循环关键字,没有 whiledo-while 这类单独的循环语法 —— 但 for 可以通过不同写法,模拟出其他语言中 whiledo-while 的效果,用法灵活

各类循环

for i := 0; i < 5; i++ {
	fmt.Println(i) // 输出 0-4 
}
for{
//无限循环
}

只保留条件判断:

func main(){
i := 0
for i < 3{
	i++
	}
	fmt.Println(i)
}

for range循环,专门用于遍历切片、数组、映射(map)、字符串等集合,简洁高效

image.png

结束循环

  • return:结束循环和函数
  • panic:报错,直接结束
  • goto:跳转标签

image.png

  • break:立刻退出当前所在的循环(for/for-range)或 switch 语句,后续代码不再执行
for i := 0; i < 5; i++ { 
	if i == 2 { 
		break // 当 i=2 时,直接终止整个循环 
	} fmt.Println(i) // 输出 0、1(i=2 及以后不执行) 
}
  • continue:只跳过当前这一次循环的剩余代码,直接进入下一轮循环(不终止整个循环)
for i := 0; i < 5; i++ { 
	if i == 2 { 
		continue // 当 i=2 时,跳过本次循环剩余代码 
	} fmt.Println(i) // 输出 0、1、3、4(跳过 i=2) 
}