mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 05:11:49 +08:00
5.4.3
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
## 啊哦,亲,你看得也太快了。。。还没翻译完呢 0 0
|
## 啊哦,亲,你看得也太快了。。。还没翻译完呢 0 0
|
||||||
|
|
||||||
要不等到 **2014 年 6 月 7 日** 再来看看吧~~
|
要不等到 **2014 年 6 月 8 日** 再来看看吧~~
|
||||||
|
|
||||||
这里还有一些其它的学习资源噢~
|
这里还有一些其它的学习资源噢~
|
||||||
|
|
||||||
@@ -236,3 +236,21 @@ The variable i is now: -1
|
|||||||
|
|
||||||
## 5.4.3 无限循环
|
## 5.4.3 无限循环
|
||||||
|
|
||||||
|
条件语句是可以被省略的,如 `i:=0; ; i++` 或 `for { }` 或 `for ;; { }`(`;;` 会在使用 gofmt 时被移除):这些循环的本质就是无限循环。最后一个形式也可以被改写为 `for true { }`,但一般情况下都会直接写 `for { }`。
|
||||||
|
|
||||||
|
如果 for 循环的头部没有条件语句,那么就会认为条件永远为 true,因此循环体内必须有相关的条件判断以确保会在某个时刻退出循环。
|
||||||
|
|
||||||
|
想要直接退出循环体,可以使用 break 语句(第 5.5 节)或 return 语句直接返回(第 6.1 节)。
|
||||||
|
|
||||||
|
但这两者之间有所区别,break 只是退出当前的循环体,而 return 语句提前对函数进行返回,不会执行后续的代码。
|
||||||
|
|
||||||
|
无限循环的经典应用是服务器,用于不断等待和接受新的请求。
|
||||||
|
|
||||||
|
```
|
||||||
|
for t, err = p.Token(); err == nil; t, err = p.Token() {
|
||||||
|
...
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## 5.4.4 for-range 结构
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user