गोलांग बिल्ड टैग कैसे जोड़ें

Golanga Bilda Taiga Kaise Jorem



गो में बिल्ड टैग एक शक्तिशाली सुविधा है जो हमें विशिष्ट बिल्ड बाधाओं के आधार पर बिल्ड प्रक्रिया के दौरान किसी विशेष कोड को सशर्त रूप से शामिल करने या बाहर करने की अनुमति देती है। यह लचीलापन हमें विभिन्न ऑपरेटिंग सिस्टम, आर्किटेक्चर या अन्य पर्यावरण-विशिष्ट आवश्यकताओं के लिए प्लेटफ़ॉर्म-विशिष्ट बिल्ड बनाने में सक्षम बनाता है। बिल्ड टैग विशेष टिप्पणियाँ हैं जो पैकेज घोषणा के ठीक ऊपर, स्रोत फ़ाइल की शुरुआत में जोड़ी जाती हैं। ये टैग गो बिल्ड सिस्टम को निर्देश प्रदान करते हैं कि संकलन प्रक्रिया के दौरान उस फ़ाइल में कोड को कैसे संभालना है।

उदाहरण 1: लिनक्स सिस्टम के लिए गोलांग बिल्ड टैग जोड़ें

लिनक्स ऑपरेटिंग सिस्टम को लक्षित करने के लिए, हम '//+बिल्ड लिनक्स' बिल्ड टैग जोड़ सकते हैं।

//जाओ लिनक्स बनाओ

// +लिनक्स का निर्माण करें

पैकेट मुख्य

आयात 'एफएमटी'

समारोह मुख्य () {

एफएमटी . Println ( 'हैलो लिनक्स सिस्टम उदाहरण' )

}

यहां, हमने गो में बिल्ड बाधाएं निर्धारित की हैं जो निर्दिष्ट करती हैं कि कोड केवल तभी बनाया जाना चाहिए जब लक्ष्य सिस्टम लिनक्स हो। उसके बाद, हम पैकेज को परिभाषित करते हैं और कोड के लिए आवश्यक स्टेटमेंट आयात करते हैं। फिर, हम मुख्य() विधि में प्रवेश करते हैं जहां हम 'एफएमटी' पैकेज से 'प्रिंट्लन' कॉल का उपयोग करके संदेश प्रिंट करते हैं।







इस प्रकार, संदेश लिनक्स ऑपरेटिंग सिस्टम के लिए कंसोल पर सफलतापूर्वक प्रदर्शित होता है:





उदाहरण 2: विंडोज़ सिस्टम के लिए गोलांग बिल्ड टैग जोड़ें

जब हम चाहते हैं कि कोड विंडोज़ प्लेटफ़ॉर्म पर निष्पादित हो, तो हम फ़ाइल की शुरुआत में '// +बिल्ड विंडोज़' बिल्ड टैग का उपयोग करते हैं। उससे, हम यह सुनिश्चित कर सकते हैं कि कोड केवल तभी बिल्ड में शामिल किया गया है जब विंडोज़ इच्छित प्लेटफ़ॉर्म हो।





// +विंडोज़ बनाएं

पैकेट मुख्य

आयात 'एफएमटी'

समारोह मुख्य () {

एफएमटी . Println ( 'हैलो, विंडोज़ उदाहरण!' )

}

यहां, हम यह सुनिश्चित करने के लिए '// +बिल्ड विंडोज़' बिल्ड बाधा का उपयोग करते हैं कि कोड केवल विंडोज़ प्लेटफ़ॉर्म के लिए निर्माण करते समय संकलित और निष्पादित किया जाता है। उसके बाद, हम पैकेज और आयात संशोधक के साथ कोड के लिए आवश्यक पैकेज शामिल करते हैं। इसके बाद मुख्य() फ़ंक्शन आता है जो गोलांग में विंडो के टैग बनाते समय स्टेटमेंट प्रिंट करने के लिए println() फ़ंक्शन का उपयोग करता है।

जब हम इस प्रोग्राम को विंडोज़ सिस्टम पर बनाते और चलाते हैं, तो यह 'हैलो, विंडोज़ उदाहरण!' दिखाता है। कंसोल को संदेश. ध्यान दें कि बिल्ड बाधा के कारण प्रोग्राम अन्य ऑपरेटिंग सिस्टम पर निर्मित या निष्पादित नहीं किया जाएगा।



उदाहरण 3: गैर-विंडोज़ सिस्टम के लिए गोलांग बिल्ड टैग जोड़ें

इसके विपरीत, यदि हम विंडोज़ के लिए निर्माण करते समय कोड को बाहर करना चाहते हैं, तो आप '!' का उपयोग कर सकते हैं। बिल्ड टैग के साथ विस्मयादिबोधक चिह्न।

//+बिल्ड !विंडोज़

पैकेट मुख्य

आयात 'एफएमटी'

समारोह मुख्य () {

एफएमटी . Println ( 'हैलो, विंडोज़ को छोड़कर!' )

}

यहां, हम एक बाधा निर्देश बनाते हैं जो इंगित करता है कि कोड को विंडोज़ के अलावा अन्य प्लेटफार्मों पर बनाया और निष्पादित किया जाना चाहिए। विंडोज़ से पहले विस्मयादिबोधक चिह्न (!) दर्शाता है कि यह कोड विंडोज़ को छोड़कर सभी प्लेटफार्मों के लिए शामिल किया जाना चाहिए। फिर, हम पिछले फ़ंक्शन की तरह उसी प्रोग्राम के साथ आगे बढ़ते हैं जहां हम पहले पैकेज जोड़ते हैं और println() फ़ंक्शन के अंदर पारित संदेश को निष्पादित करने के लिए मुख्य() फ़ंक्शन को कॉल करते हैं।

इस प्रकार, आउटपुट ऑपरेटिंग सिस्टम कंसोल पर संदेश उत्पन्न करता है। ध्यान रखें कि बिल्ड बाधा के कारण यह विंडोज़ ऑपरेटिंग सिस्टम पर निष्पादित नहीं होगा:

उदाहरण 4: गोलांग बिल्ड टैग को OR लॉजिक के साथ जोड़ें

विंडोज़ या लिनक्स को लक्षित करते समय कोड को शामिल करने के लिए, हम '//+बिल्ड विंडोज़ लिनक्स' बिल्ड टैग का उपयोग कर सकते हैं।

// +विंडोज़ लिनक्स का निर्माण करें

पैकेट मुख्य

आयात 'एफएमटी'

समारोह मुख्य () {

एफएमटी . Println ( 'अरे, विंडोज़ या लिनक्स उपयोगकर्ता' )

}

यहां, हम बिल्ड बाधा को तार्किक OR के साथ लागू करते हैं जिसे विंडोज और लिनक्स दोनों ऑपरेटिंग सिस्टम के लिए बनाया जाना है। '// +बिल्ड विंडोज़ लिनक्स' लाइन निर्दिष्ट करती है कि इस फ़ाइल को बिल्ड में शामिल किया जाना चाहिए जब लक्ष्य प्लेटफ़ॉर्म या तो विंडोज़ या लिनक्स हो। इसके बाद, हम गो मानक लाइब्रेरी से 'एफएमटी' पैकेज आयात करते हैं जो बुनियादी इनपुट और आउटपुट कार्यक्षमता प्रदान करता है। मुख्य फ़ंक्शन में, हम 'fmt' पैकेज से Println() फ़ंक्शन का उपयोग करके 'अरे, विंडोज या लिनक्स उपयोगकर्ता' स्ट्रिंग स्टेटमेंट प्रिंट करते हैं।

इसलिए, आउटपुट निम्नलिखित में पुनर्प्राप्त किया गया है। चाहे हम विंडोज या लिनक्स ऑपरेटिंग सिस्टम का उपयोग करें, वही संदेश उत्पन्न होता है:

उदाहरण 5: गोलांग बिल्ड टैग को AND लॉजिक के साथ जोड़ें

अधिक जटिल स्थितियाँ बनाने के लिए हम एकाधिक बिल्ड टैग निर्दिष्ट कर सकते हैं। '// +बिल्ड विंडोज़, लिनक्स' कमांड का उपयोग लिनक्स और विंडोज दोनों के लिए एक कोड उत्पन्न करने के लिए किया जा सकता है।

// +विंडोज़ बनाएं, 386

पैकेट मुख्य

आयात 'एफएमटी'

समारोह मुख्य () {

एफएमटी . Println ( 'यह 32-बिट विंडोज़ है' )

}

यहां, परिभाषित बिल्ड बाधा '// +बिल्ड विंडोज़, 386' है जो निर्दिष्ट करती है कि गो फ़ाइल को बिल्ड में शामिल किया जाना चाहिए जब लक्ष्य प्लेटफ़ॉर्म 32-बिट विंडोज़ हो। ध्यान दें कि हम विंडोज़ और 386 के बीच अल्पविराम ',' का उपयोग करते हैं जो तार्किक AND ऑपरेटर के रूप में कार्य करता है। इसका मतलब यह है कि कोड को बिल्ड में शामिल करने के लिए दोनों शर्तों को पूरा किया जाना चाहिए।

फिर, पिछले उदाहरण के समान, हम आउटपुट के लिए Println फ़ंक्शन() का उपयोग करने के लिए गो मानक लाइब्रेरी से 'fmt' पैकेज आयात करते हैं। हमारे पास प्रोग्राम का मुख्य() फ़ंक्शन है जहां स्टेटमेंट को println() फ़ंक्शन के तर्क के रूप में पारित किया जाता है।

जब हम इस प्रोग्राम को 32-बिट विंडोज सिस्टम पर बनाते और चलाते हैं, तो यह निर्दिष्ट संदेश को आउटपुट के रूप में प्रदर्शित करता है। हालाँकि, यदि हम इसे किसी भिन्न ऑपरेटिंग सिस्टम या आर्किटेक्चर पर बनाने और चलाने का प्रयास करते हैं, तो इसे बिल्ड में शामिल नहीं किया जाएगा:

उदाहरण 6: किसी विशिष्ट फ़ंक्शन के लिए गोलांग बिल्ड टैग जोड़ें

इसके अलावा, बिल्ड टैग को फ़ाइल के भीतर विशिष्ट कार्यों पर भी लागू किया जा सकता है। निर्माण बाधाओं के कारण, अब हम विशिष्ट कार्यों को सशर्त रूप से शामिल या हटा सकते हैं।

पैकेट मुख्य

आयात 'एफएमटी'

समारोह मुख्य () {

एफएमटी . Println ( 'अरे वहाँ, आनंद लें!' )

प्रिंटविंडोजमैसेज ()

}

// +विंडोज़ बनाएं

समारोह प्रिंटविंडोजमैसेज () {

एफएमटी . Println ( 'विंडोज़ ऑपरेटिंग सिस्टम से नमस्ते' )

}

यहां, अब हम मुख्य() विधि पर आगे बढ़ते हैं जो शुरुआत में संदेश को प्रिंट करने के लिए 'एफएमटी' पैकेज द्वारा प्रदान की गई Println() विधि का उपयोग करता है। फिर, हम printWindowsMessage() फ़ंक्शन को मुख्य() फ़ंक्शन के नीचे तैनात करते हैं और '// +बिल्ड विंडोज़' बिल्ड बाधा निर्दिष्ट करते हैं। यह इंगित करता है कि फ़ंक्शन केवल बिल्ड में शामिल है जब लक्ष्य प्लेटफ़ॉर्म विंडोज़ है।

अंत में, हम Println() फ़ंक्शन का उपयोग करके निर्दिष्ट 'हैलो फ्रॉम विंडोज ऑपरेटिंग सिस्टम' संदेश को प्रिंट करने के लिए printWindowsMessage() फ़ंक्शन सेट करते हैं।

इस प्रकार, आउटपुट पुनर्प्राप्त किया जाता है जो सामान्य संदेश और प्लेटफ़ॉर्म-विशिष्ट संदेश दोनों प्रदर्शित करता है। ध्यान दें कि यदि हम इसे किसी भिन्न ऑपरेटिंग सिस्टम पर बनाते और चलाते हैं, तो printWindowsMessage() फ़ंक्शन बिल्ड में शामिल नहीं किया जाएगा, और केवल सामान्य संदेश प्रदर्शित किया जाएगा:

निष्कर्ष

गो में बिल्ड टैग जोड़ने से बिल्ड प्रक्रिया के दौरान कोड समावेशन को अनुकूलित करने की क्षमता मिलती है। बिल्ड टैग का लाभ उठाकर, हम प्लेटफ़ॉर्म-विशिष्ट बिल्ड बना सकते हैं, विभिन्न आर्किटेक्चर के लिए कोड को अनुकूलित कर सकते हैं, और यहां तक ​​कि सशर्त रूप से विशिष्ट फ़ंक्शन या सुविधाओं को भी शामिल कर सकते हैं।