गो स्ट्रक्चर टैग में वेरिएबल्स का उपयोग करना
गो में, स्ट्रक्चर टैग का उपयोग स्ट्रक्चर के भीतर फ़ील्ड के बारे में मेटाडेटा निर्दिष्ट करने के लिए किया जाता है। हालांकि स्ट्रिंग अक्षर का उपयोग करके टैग को परिभाषित करना संभव है, उनके स्थान पर वेरिएबल का उपयोग करने का प्रयास करने पर त्रुटियां होती हैं।
अमान्य उपयोग:
const ( TYPE = "type" ) type Shape struct { Type string fmt.Sprintf("json:\"%s\"", TYPE) }
यह कोड एक सिंटैक्स त्रुटि देगा, क्योंकि यह टैग मान को गतिशील रूप से उत्पन्न करने के लिए fmt.Sprintf स्टेटमेंट का उपयोग करने का प्रयास करता है। गो को कंपाइल-टाइम स्ट्रिंग अक्षर होने के लिए स्ट्रक्चर टैग की आवश्यकता होती है।
मान्य उपयोग:
type Shape struct { Type string `json:"type"` }
इस उदाहरण में, टैग को एक स्ट्रिंग शाब्दिक के रूप में परिभाषित किया गया है। यह स्ट्रक्चर टैग निर्दिष्ट करने का सही तरीका है।
स्पष्टीकरण:
मान्य और अमान्य उदाहरणों के बीच मुख्य अंतर मूल्यांकन समय में निहित है। स्ट्रिंग अक्षर का मूल्यांकन संकलन समय पर किया जाता है, जबकि fmt.Sprintf कथन का मूल्यांकन रनटाइम पर किया जाता है। संकलन के दौरान स्ट्रक्चर टैग का उपयोग विभिन्न गो टूल्स, जैसे JSON एनकोडर और डिकोडर द्वारा किया जाता है। आवश्यक कोड को ठीक से उत्पन्न करने के लिए इन उपकरणों को संकलन समय पर टैग मान ज्ञात होने की आवश्यकता होती है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3