for init;condition;post { }

  1. package main
  2. import "fmt"
  3. func main() {
  4. sum := 0
  5. for i := 0; i <= 10; i++ {
  6. sum += i
  7. }
  8. fmt.Prinln(sum)
  9. }

init和post参数是可选的,可以直接省略,类似于while
例如

  1. package main
  2. import "fmt"
  3. func main() {
  4. sum := 1
  5. for sum < 10 {
  6. sum += sum
  7. }
  8. fmt.Println(sum) // 16
  9. }

for-each range 循环

  1. package main
  2. import "fmt"
  3. func main() {
  4. strings := []string{"abc", "hello"}
  5. for i,s := range strings {
  6. fmt.Println(i ,s)
  7. }
  8. numbers := [6]int {1, 2, 3, 4}
  9. for i, x := range numbers {
  10. fmt.Println(i, x)
  11. }
  12. }

输出结果为
0 abc
1 hello
0 1
1 2
2 3
3 4
4 0
5 0

循环控制语句

break

  1. 用于循环语句中挑出循环,并开始执行循环之后的语句
  2. break在switch中在执行一条case后挑出语句
  3. 在多重循环中,可用标号label标出想break的循环

    continue

  4. 挑出本次循环,执行下一次循环

  5. 在多重循环,可用标号label标注想continue