golang: for range详解

文章目录

  • 前言
  • 使用方式
  • 关于value的探讨

前言

总结for range的使用方法以及key value具体是什么。

使用方式

参考链接

for key, value := range oldMap {
    newMap[key] = value
}

其中key,value随range后的元素类型不同而不同,如下。
不想使用的元素可以使用 _ 代替。例如 for _,value := range arr{}
golang: for range详解_第1张图片

关于value的探讨

key不必多说,只是一个索引。但value经常使用,需要搞清楚。
先说结论,value是在for循环生命周期中的一个局部变量,它的值是对range后边类型元素的拷贝。

for _,value := range s{
	println(&value)
}

输出为

0xc0000cdf38
0xc0000cdf38
0xc0000cdf38
0xc0000cdf38
0xc0000cdf38
0xc0000cdf38
0xc0000cdf38
0xc0000cdf38
0xc0000cdf38
0xc0000cdf38
0xc0000cdf38
0xc0000cdf38
0xc0000cdf38
0xc0000cdf38
0xc0000cdf38

所以当需要某一元素的引用时,不应当使用&value,而是使用&s[index]。

你可能感兴趣的:(go,golang,开发语言,后端)