开发者学堂课程【GO 语言核心编程-基础语法、数组、切片、Map: while 和 dowhile 控制】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/625/detail/9578
实现 while 和 dowhile 控制
内容介绍
一、实现 while 控制
二、实现 do...while 控制
本节课将讲解 While 和 do...while 的实现(完全没有编程经历的同学可以直接跳过)。而Go 语言没有 while 和 do...while 语法,这一点需要注意,如果需要使用类似其他语言(比如 Java/c 的 while 和 do...while )可以通过for循环来实现其使用效果。
一、实现 while 控制
1、for 循环实现 while 的效果:
循环变量初始化
for{
if
循环条件表达式{
break//
跳出 for 循环
}
循环操作(语句)
循环变量迭代
}
说明以上内容:
首先在 for 循环外实现循环变量初始化,可以看到如上 for 循环为死循环。for 循环内if判断循环条件表达式,如果条件成立,则 break 跳出 for 循环,如果不成立则执行操作语句进行循环变量迭代。以上就相当于 while 循环的另外一种写法。总结如下:
(1)for 循环是一个无限循环
(2)break 跳出循环
2、快速入门案例
案例:使用上面的 while 写代码,实现输出10句“hello,world”。
(1)while 实现代码:
package main
import “fmt”
func main(){
//使用 while 写一段代码实现输出10句“hello,world”
var i int = 1
//根据需求定义循环变量初始化为1或0。这里初始化为1
for{
//for为死循环
if i >10{
//循环条件
break
//跳出 for 循环,或结束 for 循环。
}
fmt.Println(
“
hello,world
”
,i)
//不满足if条件则输出 “hello,world ”和i。
i++
//循环便量的迭代
}
(2)运行结果:
D:
\
goproject\src\go_code\chapter05\
for
demo>go run main .go
hello,world
1
hello,world
2
hello,world
3
hello,world
4
hello,world
5
hello,world
6
hello,world
7
hello,world
8
hello,world
9
hello,world
10
程序运行结果确实输出了十句,运行成功。而且整个for循环退出时i等于11,因为判断条件为 i>10,所以只有 i=11时,循环才会退出。为了验证退出时i的值,可以在程序最后对i进行打印,如下:
…
f
mt
.
P
rintln(
“i=”,i)
}
运行结果:
…
hello,world
9
hello,world
10
i
=11
二、实现 do...while 控制
1、for 循环实现 do…while 的效果:
循环变量初始化
for{
循环操作(语句)
循环变量迭代
if
循环条件表达式{
break
//跳出 for 循环
}
}
对上面的说明:与之前实现 while 不同,这里是先执行循环操作和变量迭代,再进行if循环条件的判断。会发现这种循环至少执行一次,而之前的 while 循环可能一次都不执行。总结如下:
(1) 上面的循环是先执行,再判断,因此少执行一次
(2) 当循环条件成立后,就会执行 break,break 就是跳出 for 循环,结束循环。
2、快速入门案例
案例:使用 do...while 写一段代码实现输出10句“hello,ok”
(1)do…while 实现代码:
//使用 do...while 写一段代码实现输出10句“hello,ok”
var j int = 1
//定义变量 j,进行初始化为1。
for {
fmt.Println(
“
hello,ok
”
,j)
//
j++
//循环便量的迭代。先执行以上代码,
if j > 10{
//再进行判断,if至少执行一次。
break
//跳出循环
}
}
(2)运行结果:D:
\
goproject\src\go_code\chapter05\
for
demo>go run main .go
hello
,
ok
1
hello,
ok
2
hello,
ok 3
hello,
ok 4
hello,
ok 5
hello,
ok 6
hello,
ok
7
hello,
ok 8
hello,
ok 9
hello,
ok 10
结果如上说明程序运行成功,而且当终止 for 循环的时候j也等于11,只有 i=11的时候条件 j>10才会成立,然后才会进行 break,跳出 for 循环。