Go中的Do-while循环介绍及实例

917 阅读1分钟

do-while 是许多语言中流行的编程循环,如C++、Java或JavaScript。它类似于while循环,但不同的是,do-while 的主体至少要执行一次。在Go中,没有特殊的表达式来创建do-while 循环,但是我们可以使用for 循环轻松地模拟它。我们只需要确保它至少执行一次。

经典的for ,其形式为。

for <initialization>; <condition>; <post-condition> {
<loopBody>
}

为了确保它至少执行一次,<condition> 在第一次迭代时必须是true ,并在随后的迭代中依赖于循环的停止条件。

for next := true; next; next=<condition> {
<loopBody>
}

在Go中还有一种更简单的do-while 循环形式,即在<loopBody> 之后检查for 循环的<condition> ,如果它不是true ,则退出循环。

for {
<loopBody>
if !<condition> {
break
}
}

例子

第一个版本的do-while 循环。

如果i 的值小于5,则打印该变量

i := 0
for next := true; next; next = i < 5 {
fmt.Println(i)
i++
}

输出

0
1
2
3
4

检查该循环是否至少执行了一次

i := 10
for next := true; next; next = i < 5 {
fmt.Println(i)
i++
}

输出

10

第二个版本的do-while 循环。

如果值小于5,则打印i 变量

i := 0
for {
fmt.Println(i)
i++
if i >= 5 {
break
}
}

输出

0
1
2
3
4

这个版本的循环也至少执行了一次😉。

i := 10
for {
fmt.Println(i)
i++
if i >= 5 {
break
}
}

输出

10