Golang 里的 range 问题
Golang 类似于 C/C++,同时又从其他语言(比如 Python)里借鉴了一些语法,比如 range。
在使用上,range 有一些特性,如果不注意的话,很容易引起误解。比如以下这段代码,会不会一直循环下去?
func main() {
v := []int{1, 2, 3}
for i := range v {
v = append(v, i)
}
}
以下是一些参考文章,里面提到的内容,对于深入理解 range 的实现及应用很有帮助: