|
|
@@ -1,6 +1,6 @@
|
|
|
## 啊哦,亲,你看得也太快了。。。还没翻译完呢 0 0
|
|
|
|
|
|
-要不等到 **2014 年 6 月 7 日** 再来看看吧~~
|
|
|
+要不等到 **2014 年 6 月 8 日** 再来看看吧~~
|
|
|
|
|
|
这里还有一些其它的学习资源噢~
|
|
|
|
|
|
@@ -236,3 +236,21 @@ The variable i is now: -1
|
|
|
|
|
|
## 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 结构
|
|
|
+
|