गो में मानचित्र के भीतर सारणियों में मान जोड़ना
गो में मानचित्रों के साथ काम करते समय, उन मानचित्रों के भीतर सारणियों में हेरफेर करना चुनौतीपूर्ण हो सकता है। यह आलेख मानचित्र के अंदर संग्रहीत सरणियों में मान जोड़ने के मुद्दे का समाधान प्रदान करता है।
समस्या को समझने के लिए, निम्नलिखित कोड पर विचार करें:
type Example struct {
Id []int
Name []string
}
var MyMap map[string]Example
यहां, MyMap एक मानचित्र है जो उदाहरण संरचना के उदाहरणों के लिए स्ट्रिंग्स को मैप करता है। उदाहरण संरचना में सरणियाँ आईडी और नाम शामिल हैं। लक्ष्य इन सरणियों में मान जोड़ना है।
ऐसा करने के प्रारंभिक प्रयास में अक्सर उदाहरण संरचना पर कॉलिंग विधियों और सरणियों तक पहुंचने और संशोधित करने के लिए एक पॉइंटर रिसीवर पास करना शामिल होता है। हालाँकि, सीधे MyMap["key1"] को Oferty.AppendExample(1, "SomeText") का परिणाम निर्दिष्ट करने से काम नहीं चलेगा क्योंकि मानचित्र उदाहरण संरचना की एक प्रति संग्रहीत करता है, संरचना की नहीं।
समाधान कोड को इस प्रकार संशोधित करने में निहित है:
package main
import "fmt"
type Example struct {
Id []int
Name []string
}
func (data *Example) AppendOffer(id int, name string) {
data.Id = append(data.Id, id)
data.Name = append(data.Name, name)
}
var MyMap map[string]*Example
func main() {
obj := &Example{[]int{}, []string{}}
obj.AppendOffer(1, "SomeText")
MyMap = make(map[string]*Example)
MyMap["key1"] = obj
fmt.Println(MyMap)
}
उदाहरण संरचना का एक उदाहरण बनाकर और मानचित्र में इसका संदर्भ संग्रहीत करके (पॉइंटर प्रकार का उपयोग करके), हम सीधे सरणी को संशोधित कर सकते हैं। AppendOffer विधि उदाहरण संरचना के लिए एक सूचक पर काम करती है, जो हमें सरणियों में मान जोड़ने की अनुमति देती है।
यह समाधान MyMap में संग्रहीत उदाहरण संरचना के भीतर सरणियों में मानों को प्रभावी ढंग से जोड़ता है। यह गो में मानचित्रों के अंदर सरणियों को प्रबंधित करने के लिए एक स्पष्ट और संक्षिप्त दृष्टिकोण प्रदान करता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3