七叶笔记 » golang编程 » golang基础之for-range

golang基础之for-range

一、for-range作用

golang对于循环遍历只提供for一个关键字,但是有2种方式进行遍历。

1.for [initStmt];[Condition];[PostStmt]{}

2.for-range,可以用来历容器类型如数组、切片和映射,channel等

二、for-range遍历注意事项

1.只有一个返回值时,则第一个参数为index

2.遍历map时为随机输出,slice则为索引顺序输出

3.range v时值拷贝方式,且只会声明初始化一次

三、for-range遍历切片原

1.计算遍历次数(切片长度)

2.每次遍历,都会把当前遍历到的值存放到一个 全局变量 index中

所以相当于在遍历之前就可以确定好了循环的次数

三、示例

package main

import “fmt”

func main() {

arr := []string{“a”, “b”, “c”, “d”}

testMap:= make(map[int]*string)

for index, value := range arr {

testMap[index] = &value

}

printMap(testMap)

}

func printMap(testMap map[int]*string) {

for key, value := range testMap {

fmt.Printf(“map[%v]=%v\n”, key, *value)

}

}

// 输出结果

0 => d

1 => d

2 => d

3 => d

相关文章