for 初始化语句;条件判断语句;循环结尾语句 {
...
}
package main
import (
"fmt"
)
func main() {
// 初始化切片
s1 := []string{"mike", "lili", "mary", "tony", "lucy"}
// 获取切片长度
length := len(s1)
// 首先对i进行初始化赋值,当i小于切片长度时,执行循环体中的内容,每轮循环结束后i自增1
for i := 0; i < length; i++ {
fmt.Println(s1[i])
}
}
for 下标,元素值 := range 可遍历的变量 {
...
}
for 下标 := range 数组、切片或字典 {
...
}
for 元素值 := range 通道 {
...
}
package main
import (
"fmt"
)
func main() {
// 初始化切片
s1 := []string{"mike", "lili", "mary", "tony", "lucy"}
// 遍历切片,下标为index,值为value。value是复制出来的值,与原先切片中的元素不是同一个
for index, value := range s1 {
// 通过切片下标输出切片元素
fmt.Println(s1[index])
// 通过遍历获取到的元素值输出
fmt.Println(value)
}
}
mike
mike
lili
lili
mary
mary
tony
tony
lucy
lucy
package main
import (
"fmt"
)
func main() {
// 定义字典
var m1 map[string]string
// 初始化字典
m1 = make(map[string]string)
// 为字典赋值
m1["key1"] = "value1"
m1["key2"] = "value2"
// 遍历字典
for key, value := range m1 {
fmt.Printf("key: %s,value: %s\n", key, value)
}
}
key: key1,value: value1
key: key2,value: value2