golang: for range详解

golang: for range详解,第1张

文章目录 前言使用方式关于value的探讨

前言

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

使用方式

参考链接

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

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

关于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]。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/996189.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存