Go中的range关键字使用起来非常的方便,它允许你遍历某个slice或者map,并通过两个参数(index和value),分别获取到slice或者map中某个元素所在的index以及其值。比如像这样的用法:1234forindex, value :=rangemySlice {fmt.Println("index: "+ index)fmt.Println("value: "+ value)}上面的例子足够清晰的描述了range的用法,实际上在使用range关键字的时候,还有一些需要特别注意的地方,有一些新手很容易入的”坑”。为了说明这些”坑”,我们可以从下面这个稍复杂的例子说起:12345678910111213141516171819typeFoostruct{barstring}funcmain(){list := []Foo{{"A"},{"B"},{"C"},}list2 :=make([]*Foo,len(list))fori, value :=rangelist {list2[i] = &value;}fmt.Println(list[0], list[1], list[2])fmt.Println(list2[0],
...
继续阅读
(54)