for 和 range 的性能比较
Go 语言/golang 高性能编程,Go 语言进阶教程,Go 语言高性能编程(high performance go)。本文比较了普通的 for 循环和 range 在不同场景下的性能,并解释了背后的原理:range 迭代时返回迭代值的拷贝,如果每个迭代值占用内存过大,性能将显著地低于 for,将元素类型改为指针,能够解决这一问题。

1 range 的简单回顾
1.1 array/slice
1.2 map
1.3 channel
2 for 和 range 的性能比较
2.1 []int
2.2 []struct
2.3 []int 和 []struct{} 的性能差异
2.4 []*struct{}
3 总结
附 推荐与参考
Last updated