5.2、循环语句
在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行语句。一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。
与其他主流的编程语言不一样。Go语言的循环语句只支持 for 关键字,而不支持 while 和 do-while结构。
1、for循环
原始for循环
通过关系表达式 或 逻辑表达式控制循环,语法如下:
for 布尔表达式 {}
无限死循环
for true {fmt.Println("hello world")}// 或者for {fmt.Println("hello world")}
简答循环案例
count := 0 //初始化语句for count < 100 { // 条件判断fmt.Println("hello world")count++ // 步进语句}
for循环的三要素
将初始化语句、条件判断、步进语句格式固定化的循环方式,本质上和上面的for循环没啥区别。
for init;condition;post {// 循环体语句}
- init: 初始化语句,一般为赋值表达式,给控制变量赋初始值。
- condition:条件判断,一般是关系表达式或者逻辑表达式,循环控制条件。
- post: 步进语句,一般为赋值表达式,给控制变量增量或者减量。
for count := 0;count < 101; count++ {fmt.Println(count)}/*// 步进为2for count := 0;count < 101; count += 2 {fmt.Println(count)}*/
遍历for循环
我们有的时候要遍历 字符串 或者 循环遍历数组,这个时候我们用遍历for循环。
// 1. 遍历数组nameList := [...]string{"sbh", "sgg", "xhz"}for k, name := range nameList { // k 表示索引值,如果不要 可以用 _ 匿名变量fmt.Println(k, name)}// 输出0 sbh1 sgg2 xhz// 2. 遍历字符串name := "sbh"for _, v := range name {fmt.Println(string(v))}// 输出sbh
2、退出循环
如果想提前结束循环(在不满足结束条件的情况下结束循环),可以用 break 和 continue关键字。
break
当 break 关键字用于 for 循环时,会终止循环而执行整个循环语句后面的代码。break 关键字通常和 if 语句一起使用,即满足某个条件时便跳出循环,继续执行循环语句下面的代码。
for i := 0; i < 10; i++ {if i == 8 {break}fmt.Println(":", i)}
continue
不同于break退出整个循环,continue指的是退出当次循环。
for i := 0; i < 10; i++ {if i == 8 {continue}fmt.Println(":", i)}

在一个循环体语句中又包含另一个循环语句,称为循环嵌套。
