मानते हैं कि यह रेंज कुंजी और मूल्य की "प्रतिलिपि" लौटाती है। क्या उस श्रेणी के पते को वापस करने के लिए उस सीमा का कोई तरीका है? उदाहरणगोलांग रेंज संदर्भ इसके बजाय
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) –
क्या आप 'माईटाइप' के सूचक की सरणी का उपयोग कर सकते हैं? – nvcnvn
हां, यदि आप पॉइंटर्स की एक सरणी का उपयोग करते हैं तो आप सीधे इंडेक्स का उपयोग किए बिना सरणी में परिणामों को संशोधित कर सकते हैं, यहां एक उदाहरण है http://play.golang.org/p/_Vx7ONLDJs – notzippy