【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号