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

मैं गो में कोड से मॉड्यूल संस्करण कैसे प्राप्त कर सकता हूं?

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

How Can I Retrieve Module Versions from Code in Go?

गो में कोड से मॉड्यूल संस्करण पुनर्प्राप्त करना

गो में, रनटाइम/डीबग पैकेज प्रोग्राम की निर्भरता और मॉड्यूल के बारे में विस्तृत जानकारी तक पहुंच प्रदान करता है . यह कार्यक्षमता आपको कोड के भीतर से मॉड्यूल संस्करणों को पुनः प्राप्त करने और प्रदर्शित करने में सक्षम बनाती है।

debug.ReadBuildInfo() फ़ंक्शन एक BuildInfo संरचना लौटाता है जिसमें सभी आयातित निर्भरताओं की एक सूची होती है। प्रत्येक मॉड्यूल या निर्भरता को एक मॉड्यूल संरचना द्वारा दर्शाया जाता है, जिसमें निम्नलिखित फ़ील्ड शामिल हैं:

  • पथ: मॉड्यूल का आयात पथ।
  • संस्करण: मॉड्यूल का संस्करण।
  • योग: मॉड्यूल के कोड का चेकसम।
  • बदलें: वह मॉड्यूल जो इसे प्रतिस्थापित करता है, यदि कोई भी।

मॉड्यूल संस्करणों को पुनः प्राप्त करने और प्रदर्शित करने के लिए, आप इस तरह कोड का उपयोग कर सकते हैं:

package main

import (
    "fmt"
    "log"
    "runtime/debug"
)

func main() {
    bi, ok := debug.ReadBuildInfo()
    if !ok {
        log.Printf("Failed to read build info")
        return
    }

    for _, dep := range bi.Deps {
        fmt.Printf("Module: %s, Version: %s\n", dep.Path, dep.Version)
    }
}

यह उदाहरण मॉड्यूल और निर्भरता जानकारी को बिल्डइन्फो संरचना में लोड करेगा और निर्भरता पर पुनरावृति करेगा, उनके पथ और संस्करणों को प्रिंट करेगा। आप अपने इच्छित प्रारूप में जानकारी प्रदर्शित करने के लिए इस कोड को संशोधित कर सकते हैं, जैसे कि प्रश्न में उदाहरण।

यह दृष्टिकोण बाहरी रूप से संस्करणों को सेट करने के लिए ldflags का उपयोग करने की आवश्यकता से बचाता है। इसके बजाय, यह गो द्वारा प्रदान की गई जानकारी पर निर्भर करता है, जो इसे मॉड्यूल संस्करणों के प्रबंधन के लिए एक विश्वसनीय और स्केलेबल समाधान बनाता है।

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

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

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

Copyright© 2022 湘ICP备2022001581号-3