go结构for

1. 基于计数器的迭代

for 初始化语句; 条件语句; 修饰语句 {}

package main

import "fmt"

func main() {
    for i := 0; i < 5; i++ {
        fmt.Printf("This is the %d iteration\n", i)
    }
}

循环中同时使用多个计数器:

**for i, j := 0, N; i < j; i, j = i+1, j-1 {} **

2. 基于条件判断的迭代

for 结构的第二种形式是没有头部的条件判断迭代(类似其它语言中的 while 循环),基本形式为:for 条件语句 {}。 您也可以认为这是没有初始化语句和修饰语句的 for 结构,因此 ;; 便是多余的了。

package main

import "fmt"

func main() {
    var i int = 5

    for i >= 0 {
        i = i - 1
        fmt.Printf("The variable i is now: %d\n", i)
    }
}
输出
The variable i is now: 4
The variable i is now: 3
The variable i is now: 2
The variable i is now: 1
The variable i is now: 0
The variable i is now: -1

3. for-range 结构

for pos, char := range str {
...
}
 str := "Go is a beautiful language!"
    fmt.Printf("The length of str is: %d\n", len(str))
    for pos, char := range str {
        fmt.Printf("Character on position %d is: %c \n", pos, char)
    }