Skip to content

循环

for

go
package main

import "fmt"

func main() {
	sum := 0
	for i := 0; i < 10; i++ {
		sum += i
	}
	fmt.Println(sum)
}

go 的 for 没有 () 但是 {} 是必须的

i 的作用域仅在 for 内

示例 2:

go
func main() {
	sum := 1
	for ; sum < 1000; {
		sum += sum
	}
	fmt.Println(sum)
}

示例 3: while

go
func main() {
	sum := 1
	for sum < 1000 {
		sum += sum
	}
	fmt.Println(sum)
}

range

用于切片

go
var pow = []int{1, 2, 4, 8, 16, 32, 64, 128}

func main() {
	for index, value := range pow {
		fmt.Printf("2**%d = %d\n", index, value)
	}
}

忽略参数

go
func main() {
	pow := make([]int, 10)
	for i := range pow {
		pow[i] = 1 << uint(i) // == 2**i
	}
	for _, value := range pow {
		fmt.Printf("%d\n", value)
	}
}