For 循环语句

未匹配的标注

在 Go 语言中, for 循环语句是有且仅有的循环语句, 没有之一.

语法

for <condition> {
}

无限循环

// 无限循环
for {
    // ...
}

// 无限循环这样写也可以
for ;; {
    // ...
}

需要注意的是, 无限循环内通常需要配合 break 等跳出语句, 以免造成死循环.

条件循环

// 条件循环
for i := 0; i < 10; i++ {
    // ...
}

我们用条件循环写个小例子, 比如计算 1-100 的和

// for_test.go
package basic

import (
    "testing"
)

// 测试使用条件循环计算 1-100 的和
func TestFor2(t *testing.T) {
    sum := 0
    for i := 1; i <= 100; i++ {
        sum += i
    }
    t.Logf("sum = %d", sum)
}

运行测试

go test -v for_test.go

不出意外的话, 输出如下:

=== RUN   TestFor2
--- PASS: TestFor2 (0.00s)
    for_test.go:21: sum = 5050
PASS

for range

在实际操作中, 我们更多的会操作集合数据, 比如切片, 对象集等. 更多的会使用 for...range 语句.

也是循环语句, 可以当作是 for 语句的变种,在某些场景下会更易于理解和使用. 好比正方形和长方形的关系.

// 
for index, value := range list {
}
// 只需要索引, 可以用 _ 代替 value
for index, _ := range list {
}
// 只需要值, 可以用 _ 代替 index
for _, value := range list {
}

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
taadis
讨论数量: 0
发起讨论 只看当前版本


暂无话题~