क्या REPL प्रदान करता है?


200

इंटरैक्टिव वातावरण एक प्रोग्रामर के लिए बहुत उपयोगी है। हालाँकि, ऐसा लगता है कि गो इसे प्रदान नहीं करता है। क्या मेरी समझ सही है?

जवाबों:


164

नहीं, Go एक REPL प्रदान नहीं करता है।

हालाँकि, जैसा कि पहले ही उल्लेख किया गया है, Go Playground (यह नया URL है) बहुत ही उपयोगी है। गो लेखक इसमें फीचर से भरपूर संपादक जोड़ने के बारे में भी सोच रहे हैं।

यदि आप कुछ स्थानीय चाहते हैं, तो hsandbox स्थापित करने पर विचार करें । इसके साथ बस चलाने से hsandbox goआपकी टर्मिनल स्क्रीन (के साथ screen) विभाजित हो जाएगी जहां आप शीर्ष पर कोड लिख सकते हैं और हर बचत पर नीचे इसका निष्पादन आउटपुट देख सकते हैं।

एक gotryमानक गो कमांड था, जो भावों का मूल्यांकन करता था (एक वैकल्पिक पैकेज नाम के साथ), और इसे शेल की तरह gotry 1+2और चलाया जा सकता था gotry fmt 'Println("hello")'। यह अब उपलब्ध नहीं है क्योंकि बहुत से लोग वास्तव में इसका उपयोग नहीं करते हैं।

मैंने गो के लिए REPL के निर्माण के लिए तीसरे पक्ष के प्रोजेक्ट भी देखे हैं, लेकिन अब मैं केवल उनमें से दो के लिंक पा सकता हूं: igo और गो-रिप । वे कितना अच्छा काम करते हैं मुझे नहीं पता।

मेरे दो सेंट: संकलन की गति गो के लिए एक REPL लिखना संभव बनाती है, क्योंकि इसने यहां बताए गए उपकरणों के निर्माण में भी मदद की है, लेकिन वही गति REPL को कम आवश्यक बनाती है। हर बार जब मैं गो में कुछ परीक्षण करना चाहता हूं, तो मैं प्लेग्राउंड में नहीं चला सकता हूं मैं एक साधारण .goफ़ाइल खोलता हूं और कोडिंग शुरू करता हूं और बस कोड चलाता हूं । यह तब और भी आसान हो जाएगा जब goGo 1 में कमांड वन-कमांड बिल्ड प्रक्रिया को संभव और आसान बना देता है।

अद्यतन: गो एडेड goकमांड के नवीनतम साप्ताहिक रिलीज का उपयोग बहुत आसानी से एक फ़ाइल बनाने के लिए किया जा सकता है: अपनी prog.goफ़ाइल लिखें और चलाएंgo build prog.go && ./prog

अद्यतन 2 : गो 1 के साथ आप सीधे गो कार्यक्रमों को चला सकते हैंgo run filename.go

अद्यतन 3 : goreएक नई परियोजना है जो दिलचस्प लगती है।


TL; DR igo अन्य: गोर बहुत सुविधाजनक नहीं है क्योंकि इसे चिपकाने और Ctrl-D की आवश्यकता होती है। गो के लिए पुनर्जन्म जैसा कुछ अजीब होगा।

4
लगता है दो REPL प्रोजेक्ट "गोर" कहलाते हैं। यह उत्तर में एक से अधिक सक्रिय रूप से बनाए रखा गया है: github.com/motemen/gore
बिजन

1
हा, मैं बस एक ही बात पोस्ट करने वाला था। मैं बस motemen/goreवहाँ के साथ खेल रहा हूँ - यह बहुत अच्छा है।
दरगाह ठीक

github.com/motemen/gore गोर उपयोग करने के लिए बहुत अच्छा और सरल है।
Junv

56

निरीक्षकों / गोर की कोशिश करो

अभी तक एक और जाओ REPL कि अच्छी तरह से काम करता है। लाइन संपादन, कोड पूरा करने, और बहुत कुछ के साथ विशेष रुप से प्रदर्शित।

https://github.com/motemen/gore

यहां छवि विवरण दर्ज करें


8

आपके पास हाल ही में (मार्च 2013) प्रोजेक्ट श्रीराम श्रीनिवासन से गोर है , जो उपयोगी हो सकता है:

गोर, गोलांग कोड के लिए एक कमांड-लाइन मूल्यांकनकर्ता है - यदि आप करेंगे तो लूप के बिना एक REPL।
यह गो खेल के मैदान के लिए एक प्रतिस्थापन है, जबकि कोड के बिट्स को अंतःक्रियात्मक रूप से आज़माना बहुत आसान है: गोर स्वचालित रूप से बॉयलर-प्लेट कोड जैसे आयात और पैकेज घोषणाओं और एक मुख्य फ़ंक्शन आवरण की आपूर्ति करता है
इसके अलावा, चूंकि यह आपके स्वयं के कंप्यूटर पर चलता है, इसलिए सुरक्षा आधार पर कोई कोड अस्वीकार नहीं किया जाता है (गो गेम के सुरक्षित सैंडबॉक्स मोड के विपरीत)।


7

क्या आपने गो प्लेग्राउंड की कोशिश की है ?

गो खेल के मैदान के बारे में

गो प्लेग्राउंड एक वेब सेवा है जो golang.org के सर्वर पर चलती है। सेवा एक गो कार्यक्रम प्राप्त करती है, संकलन करती है, लिंक करती है, और सैंडबॉक्स के अंदर प्रोग्राम चलाता है, फिर आउटपुट देता है।


4

यदि आप एक विम उपयोगकर्ता हैं, तो vim-go प्लगइन ( https://github.com/fatih/vim-go ) वर्तमान बफर के आउटपुट को चलाने और प्रिंट करने के लिए एक कमांड (GoRun) प्रदान करता है। आपको अभी भी एक मुख्य गो फ़ाइल के सभी बॉयलरप्लेट कोड को शामिल करना है, लेकिन यह अभी भी आपके स्थानीय वातावरण में कोड स्निपेट का त्वरित परीक्षण करने का एक सुविधाजनक तरीका प्रदान करता है।

यहां छवि विवरण दर्ज करें

HTH


कैसे वर्तमान बफर गोइम में GoRun आउटपुट बना सकते हैं, शेल में प्रदर्शित करें
योनि

vim-go all! हालाँकि, इसे एक कदम आगे बढ़ाने के लिए मैं बॉयलर प्लेट कोड को हटा दूंगा, अपने 'package_test.go' को स्प्लिट बफर में रख दूंगा और हथौड़ा मारता रहूँगा: GoTest &: GoCoverage। मेरे 2 सेंट ...
rolandvarga

3

GoSpeccy परियोजना जाओ भाषा की एक सीमित उप-समूह की अंतर्निहित आरईपीएल भी शामिल है। कार्यान्वयन goeval का उपयोग कर रहा है


2

नहीं, लेकिन आप संकलन की गति का फायदा उठा सकते हैं (जैसा कि अन्य उत्तरों में बताया गया है)।

एक REPL की नकल करने के लिए जनरेट-कंपाइल-रन लूप का उपयोग करने वाले रंगो पर एक नजर डालें । आप इंटरेक्टिव सेशन शुरू करने के लिए इसे इम्पोर्ट और स्टेटमेंट से भी शुरू कर सकते हैं।


2

मुझे VSCode डीबगर के साथ कुछ किस्मत मिली है, लेकिन यह अभी तक काफी सीमित है क्योंकि आप डिबग कंसोल डिबग से फ़ंक्शन कॉल को आमंत्रित नहीं कर सकते हैं : फ़ंक्शन कॉल # 2225 समर्थित नहीं है

मूल रूप से आपने अपनी launch.jsonफ़ाइल को ठीक से कॉन्फ़िगर करने के बाद एक ब्रेकपॉइंट सेट किया है । फिर आप चर पक्ष पट्टी में बाईं ओर नीचे ड्रिल कर सकते हैं और चर अभिव्यक्ति एक डिबग कंसोल में प्रवेश कर सकते हैं। डिबगिंग के माध्यम से आत्मनिरीक्षण करने के लिए VSCode में डीबगिंग फ़ाइल जाना


1

गोश इंटरैक्टिव गोलांग खोल है। लक्ष्य एक आसान से उपयोग इंटरैक्टिव निष्पादन वातावरण प्रदान करना है।

https://github.com/mkouhei/gosh


0

आप https://github.com/haya14busa/goplay को भी आज़माना पसंद कर सकते हैं। यह आपको अपने टर्मिनल से सीधे गो खेल के मैदान में जाने के लिए सक्षम बनाता है।



0

Go कोड को गो एक्सटेंशन और कोड रनर एक्सटेंशन के साथ Visual Studio कोड में एक REPL- तरह से चलाया जा सकता है। रन त्रिकोण पर क्लिक करें जो कोड को चलाने के लिए नीचे स्क्रीनशॉट में माउस कर्सर द्वारा चिह्नित है और विजुअल स्टूडियो कोड के निचले भाग में आउटपुट फलक में परिणाम दिखाता है।

जब गो विज़ुअल स्टूडियो कोड के साथ प्रोग्रामिंग अतिरिक्त गो एक्सटेंशन का सुझाव देगा, जिसे विज़ुअल स्टूडियो कोड की कार्यक्षमता को बढ़ाने के लिए स्थापित किया जा सकता है।

विजुअल स्टूडियो कोड में चलें

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