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

मैं एक ही निर्देशिका में लाइब्रेरी और सीएलआई दोनों के साथ एक गो प्रोजेक्ट कैसे व्यवस्थित कर सकता हूं?

2024-12-23 को प्रकाशित
ब्राउज़ करें:901

How Can I Organize a Go Project with Both a Library and a CLI in the Same Directory?

मल्टी-पैकेज प्रोजेक्ट्स में कोड का आयोजन

गो प्रोजेक्ट्स में जिनके लिए लाइब्रेरी और कमांड-लाइन इंटरफ़ेस (सीएलआई) दोनों की आवश्यकता होती है, समस्या का सामना करना आम है एक ही निर्देशिका में एकाधिक पैकेज होने का।

एक ऐसी परियोजना संरचना:

whatever.io/
    myproject/
        main.go
        myproject.go

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

main.go:5:2: found packages myproject (myproject.go) and main (main.go) in $GOPATH/src/whatever.io/myproject

समाधान: नेस्टेड पैकेज

इस समस्या को हल करने के लिए, दोनों पैकेजों को एक ही निर्देशिका के अंदर एक नए फ़ोल्डर में रखें जैसे main.go. अपने $GOPATH से नए पैकेज को संदर्भित करने के लिए आयात विवरण को अपडेट करना याद रखें।

उदाहरण के लिए:

whatever.io/
    myproject/
        library/
            myproject.go
        main.go

main.go में, लाइब्रेरी पैकेज को इस प्रकार आयात करें:

import "../library/myproject"

यह दृष्टिकोण बीच स्पष्ट अलगाव सुनिश्चित करता है लाइब्रेरी और सीएलआई दोनों को एक ही निर्देशिका में रहने की अनुमति देते हुए।

अतिरिक्त नोट्स

  • पैकेजों को इसमें ले जाना एक नेस्टेड संरचना किसी भी पैकेज की कार्यक्षमता को प्रभावित नहीं करती है। गो बिल्ड फ़ाइल.गो और गो बिल्ड के बीच अंतर।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3