【Go】20、golang for range循环
- go语言中可以使用for range遍历数组、切片、字符串、map即通道(channel)。通过for range遍历的返回值有以下规律:
 - 数组、切片、字符串返回索引和值
 - map返回键和值
 - 通道(channel)只返回通道内的值
 
1、go语言for range语法
for key, value := rangeoldMap {
    nevMlap[key] = value
}2、go语言for range实例
- 循环数组
 
func f1() {
	a := [5]int{1, 2, 3, 4, 5}
	for i, v := range a {
		fmt.Printf("i, v: %d %v \n", i, v)
	}
}
func main() {
	f1()
}
# 输出结果
    i, v: 0 1 
    i, v: 1 2 
    i, v: 2 3 
    i, v: 3 4 
    i, v: 4 5 - 循环切片
 
func f2() {
	var a = []int{1, 2, 3}
	for _, v := range a {
		fmt.Printf("v: %v\n", v)
	}
}
func main() {
	f2()
}- 循环map
 
func f3() {
	var m = make(map[string]string, 0)
	m["name"] = "tom"
	m["age"] = "20"
	m["email"] = "xxx@aa.com"
	for key, value := range m {
		fmt.Printf("%v: %v \n", key, value)
	}
}
func main() {
	f3()
}
# 输出结果
    email: xxx@aa.com 
    name: tom 
    age: 20 - 循环字符串
 
func f4() {
	s := "hello, go"
	for i, v := range s {
		fmt.Printf("%d: %c \n", i, v)
	}
}
func main() {
	f4()
}
# 输出结果
    0: h 
    1: e 
    2: l 
    3: l 
    4: o 
    5: , 
    6:   
    7: g 
    8: o 本文来自博客园,作者:郭祺迦,转载请注明原文链接:https://www.cnblogs.com/guojie-guojie/p/16390294.html
                    
                
                
            
        
浙公网安备 33010602011771号