"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं गो स्ट्रक्चर टैग में वेरिएबल्स का उपयोग क्यों नहीं कर सकता?

मैं गो स्ट्रक्चर टैग में वेरिएबल्स का उपयोग क्यों नहीं कर सकता?

2024-11-05 को प्रकाशित
ब्राउज़ करें:269

Why Can\'t I Use Variables in Go Struct Tags?

गो स्ट्रक्चर टैग में वेरिएबल्स का उपयोग करना

गो में, स्ट्रक्चर टैग का उपयोग स्ट्रक्चर के भीतर फ़ील्ड के बारे में मेटाडेटा निर्दिष्ट करने के लिए किया जाता है। हालांकि स्ट्रिंग अक्षर का उपयोग करके टैग को परिभाषित करना संभव है, उनके स्थान पर वेरिएबल का उपयोग करने का प्रयास करने पर त्रुटियां होती हैं।

अमान्य उपयोग:

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