在go语言中,遍历数据或切片时可以用range,range会产生两个值,分别是数据的索引与值:
package main import "fmt" func main() { x := []int{5, 6, 7} for v := range x { fmt.Println(v) // 0 1 2
} }
这种写法非常不好(虽然没有报错),因为for…range的过程中,产生了index(索引)与value两个值,但是在遍历的时候,却没有显示地声明有这index变量,虽然我们此时不用index,时刻养成良好的编码习惯。
package main import "fmt" func main() { x := []int{5, 5, 7} for _, v := range x { fmt.Println(v) // 5 6 7
} }
package main import "fmt" func main() { a := []string{"你","好","啊"} for _,i := range a { fmt.Println(i) // 你 好 啊 } }