【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 
posted @   郭祺迦  阅读(240)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示