28
我看到該範圍返回鍵和該值的「副本」。有一種方法可以返回該項目的地址嗎?例如golang範圍引用代替值
package main
import "fmt"
type MyType struct {
field string
}
func main() {
var array [10]MyType
for _, e := range array {
e.field = "foo"
}
for _, e := range array {
fmt.Println(e.field)
fmt.Println("--")
}
}
http://play.golang.org/p/AFOGG9NGpx
這裏的「場」沒有修改,因爲範圍發送場的副本, 我一定要使用索引或是否有任何其他的方式來修改這個值?
感謝您的閱讀。
的可能重複的[更改值,同時在golang迭代]( http://stackoverflow.com/questions/15945030/change-values-while-iterating-in-golang) –
你可以使用MyType的指針數組嗎? – nvcnvn
是的,如果你用一個指針數組,你可以直接修改結果陣列中,而不必使用索引,這裏有個例子http://play.golang.org/p/_Vx7ONLDJs – notzippy