एक गो मॉड्यूल फ़ाइल (go.mod) के भीतर "गो" संस्करण निर्देश का उपयोग करने के निहितार्थ क्या हैं


11

निम्नलिखित go.mod फ़ाइल को देखते हुए:

module foo

go 1.12

require (
    github.com/bar/baz v1.0.0
    github.com/rat/cat v1.0.0
)

क्या go 1.12संकेत देता है? क्या यह fooगो के किसी अन्य संस्करण के खिलाफ मॉड्यूल को संकलित करने से रोकता है ? या क्या यह केवल fooअनुशंसित / आवश्यक गो संस्करण का संकेतक है ? क्या यह निर्देश है कि जब भी कोई नया संस्करण रिलीज़ हो (हर 6 महीने में) हमें अपडेट करना चाहिए?



1
इसके अलावा: golang.org/cmd/go/#hdr-The_go_mod_file : गो निर्देश द्वारा निर्धारित अपेक्षित भाषा संस्करण, निर्धारित करता है कि मॉड्यूल को संकलित करते समय कौन सी भाषा सुविधाएँ उपलब्ध हैं। उस संस्करण में उपलब्ध भाषा सुविधाएँ उपयोग के लिए उपलब्ध होंगी। पूर्व संस्करणों में हटाए गए भाषा सुविधाएँ, या बाद के संस्करणों में जोड़े गए, उपलब्ध नहीं होंगे। ध्यान दें कि भाषा संस्करण बिल्ड टैग को प्रभावित नहीं करता है, जो कि गो रिलीज़ द्वारा उपयोग किए जा रहे हैं।
आईसीज़ा

जवाबों:


5

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

एक go.mod फ़ाइल में जाने का निर्देश अब उस मॉड्यूल के भीतर फ़ाइलों द्वारा उपयोग की जाने वाली भाषा के संस्करण को इंगित करता है। यदि कोई मौजूदा संस्करण मौजूद नहीं है, तो इसे वर्तमान रिलीज़ पर सेट किया जाएगा (1.12 पर जाएं)। यदि किसी मॉड्यूल के लिए जाने का निर्देश टूलचिन के उपयोग की तुलना में एक नया संस्करण निर्दिष्ट करता है, तो गो कमांड बिना किसी पैकेज के निर्माण का प्रयास करेगा, और केवल बेमेल को नोट करेगा यदि वह निर्माण विफल हो जाता है। 1.12 रिलीज नोट्स पर जाएं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.