Go语言学习之旅04——循环语句

简单for循环:

1
2
3
for i := 0; i < 10; i++ {
fmt.Printf("%d\n", i)
}

需要注意的是,go语言的for循环不同于Java或C语言,不需要用括号来包裹表达式

go语言没有while循环,所以所有其他语言while的使用场景,go语言的for循环都可以完成:

死循环

1
2
3
4
5
func forever() {
for {
fmt.Println("hello")
}
}

省略for循环的定义和递增,仅保留判断条件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
func readFile(fileName string) (string, error) {
result := ""
file, err := os.Open(fileName)
if err != nil {
error := fmt.Errorf("打开文件错误")
return result, error
} else {
scanner := bufio.NewScanner(file) // 一行一行地读文件
fmt.Println("文件内容:start")
for scanner.Scan() { // scanner.Scan()返回布尔类型,此处for循环只保留了循环条件,代替while
fmt.Println(scanner.Text())
}
fmt.Println("文件内容:end")
}

return result, nil // nil代表不存在,这里指没有error
}