मान लें कि मेरे पास ये प्रकार हैं:
type Attribute struct {
Key, Val string
}
type Node struct {
Attr []Attribute
}
और मैं उन्हें बदलने के लिए अपने नोड के गुणों पर पुनरावृति करना चाहता हूं।
मैं करने में सक्षम होने के लिए प्यार होता:
for _, attr := range n.Attr {
if attr.Key == "href" {
attr.Val = "something"
}
}
लेकिन जैसा attr
कि एक सूचक नहीं है, यह काम नहीं करेगा और मुझे करना होगा:
for i, attr := range n.Attr {
if attr.Key == "href" {
n.Attr[i].Val = "something"
}
}
क्या कोई सरल या तेज तरीका है? क्या सीधे संकेत प्राप्त करना संभव है range
?
जाहिर है कि मैं सिर्फ पुनरावृत्ति के लिए संरचनाओं को बदलना नहीं चाहता हूं और अधिक क्रिया समाधान कोई समाधान नहीं हैं।
forEach
आवश्यक रूप से एक प्रकार के दावे के साथ शुरू होगा। यह वास्तव में से बेहतर नहीं है attr := &n.Attr[i]
।
Array.prototype.forEach
जावास्क्रिप्ट में किसी तरह चाहते हैं ?