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

गो HTML टेम्प्लेट्स में ग्लोबल वेरिएबल स्कोप को प्रभावी ढंग से कैसे प्रबंधित करें?

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

How to Effectively Manage Global Variable Scope in Go HTML Templates?

गो टेम्पलेट्स में ग्लोबल वेरिएबल स्कोप

गो के एचटीएमएल/टेम्पलेट पैकेज में ग्लोबल वेरिएबल बनाते समय, स्कोप सीमाओं को समझना महत्वपूर्ण है। पैकेज दस्तावेज़ीकरण के अनुसार, टेम्प्लेट में परिभाषित वेरिएबल्स का एक सीमित दायरा होता है जो नियंत्रण संरचना के अंत तक विस्तारित होता है (उदाहरण के लिए, यदि, साथ, सीमा) जिसमें उन्हें घोषित किया जाता है।

केस स्टडी

निम्नलिखित HTML/टेम्पलेट कोड पर विचार करें:

{{if .UserData}}
    {{$currentUserId := .UserData.UserId}}
    [<a href="#ask_question">Inside {{$currentUserId}}</a>]
{{else}}
    {{$currentUserId := 0}}
{{end}}
[<a href="#ask_question">outside {{$currentUserId}}</a>]

इस कोड का लक्ष्य वर्तमान उपयोगकर्ता आईडी को if ब्लॉक के अंदर और 0 को ब्लॉक के बाहर प्रदर्शित करना है। हालाँकि, $currentUserId के सीमित दायरे के कारण परिणाम दोनों स्थानों पर 0 दिखाता है।

Solutionusing Assignment

Go 1.11 ने टेम्पलेट वैरिएबल मानों को संशोधित करने के लिए समर्थन पेश किया। किसी वेरिएबल को प्रारंभ करने के लिए, := का उपयोग करें, जैसे:

{{$currentUserId := 0}}

इसके मान को अपडेट करने के लिए, = का उपयोग करें, जैसे:

{{$currentUserId = .UserData.UserId}}

if ब्लॉक के बाहर परिभाषित एक वेरिएबल को संशोधित करके, परिवर्तन को दोनों तक पहुँचा जा सकता है ब्लॉक के अंदर और बाहर। एक कस्टम फ़ंक्शन पंजीकृत करें जो एक वेरिएबल स्वीकार करता है और उसे एक मान निर्दिष्ट करता है। समान प्रभाव प्राप्त करने के लिए इस फ़ंक्शन को टेम्पलेट के भीतर बुलाया जा सकता है।

सिम्युलेटेड चेंजेबल वेरिएबल्स

: टेम्पलेट डेटा मैप में एक वेरिएबल को परिभाषित करें और इसके मूल्य को संशोधित करने के लिए एक कस्टम फ़ंक्शन पंजीकृत करें। यह टेम्प्लेट के भीतर सिम्युलेटेड "परिवर्तनीय" वैरिएबल की अनुमति देता है। टेम्पलेट्स.

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3