Чи надає перелік відповідь?


200

Інтерактивне середовище ДУЖЕ корисно для програміста. Однак, схоже, Go цього не забезпечує. Чи правильно я розумію?

Відповіді:


164

Ні, Go не надає відповідь.

Однак, як уже згадувалося, Go Playground (це нова URL-адреса) дуже зручний. Автори Go також думають над тим, щоб додати в нього редактор, багатий на функції.

Якщо ви хочете щось місцеве, подумайте про встановлення hsandbox . Запустивши його просто, hsandbox goви розділите ваш екран терміналу (з screen), де ви можете написати код у верхній частині та побачити його виконання внизу при кожному збереженні.

gotryСеред стандартних команд Go була одна з стандартних команд Go, яка використовувалась для оцінювання виразів (з необов'язковою назвою пакету) і могла запускатися як з оболонки, так gotry 1+2і gotry fmt 'Println("hello")'з неї. Він більше не доступний, тому що не багато людей насправді ним користувалися.

Я також бачив сторонні проекти зі створення REPL для Go, але тепер я можу знайти лише посилання на два з них: igo та go-repl . Наскільки добре вони працюють, я не знаю.

Мої два центи: Швидкість компіляції робить написання REPL можливим для Go, оскільки це також допомогло створити згадані тут інструменти, але однакова швидкість робить REPL менш необхідною. Кожен раз, коли мені хочеться щось перевірити в Go, що я не можу запустити на Playground, я відкриваю простий .goфайл і починаю кодування і просто запускаю код. Це стане ще простіше, коли goкоманда в Go 1 зробить можливим процес побудови однієї команди та полегшить його.

ОНОВЛЕННЯ: Останній щотижневий випуск команди «Додана goдобавка», яку можна легко створити файл: напишіть prog.goфайл та запустітьgo build prog.go && ./prog

ОНОВЛЕННЯ 2 : За допомогою програми Go 1 ви можете безпосередньо запускати програми gogo run filename.go

ОНОВЛЕННЯ 3 : goreце новий проект, який здається цікавим.


TL; DR igo Інші: Gore не дуже зручно, оскільки вимагає вставлення та Ctrl-D. Щось на зразок Reinteract for Go було б чудовим чином.

4
Здається, є два проекти REPL, які називаються "гора". Це один більш активно підтримується , ніж у відповідь: github.com/motemen/gore
Bijan

1
Ха, я збирався опублікувати те саме. Я щойно motemen/goreтам грався - це досить добре.
Darragh Enright

github.com/motemen/gore gore досить хороший і простий у використанні.
червня


8

Також у вас є нещодавній (березень 2013 р.) Проект під назвою гора від Sriram Srinivasan , який може бути корисним:

gore - це оцінювач командного рядка для голанг-коду - відповідь без циклу, якщо ви хочете.
Це заміна ігрового майданчика, одночасно полегшуючи інтерактивне випробування бітів коду: gore автоматично постачає код пластини котла, такий як декларації про імпорт та упаковку та основну функцію обгортки .
Крім того, оскільки він працює на вашому власному комп’ютері, жоден код не відхиляється з міркувань безпеки (на відміну від безпечного режиму пісочного майданчика на майданчику).


7

Ви пробували майданчик Go ?

Про майданчик Go

Ігровий майданчик Go - це веб-сервіс, який працює на серверах golang.org. Служба отримує програму Go, компілює, посилається та запускає програму всередині пісочної скриньки, після чого повертає результат.


4

Якщо ви користувач Vim, плагін vim-go ( https://github.com/fatih/vim-go ) надає команду (GoRun) для запуску та друку виводу поточного буфера. Вам все одно потрібно включити весь код котлована для головного файлу Go, але він все ще забезпечує зручний спосіб швидкого тестування фрагментів коду у вашому локальному середовищі.

введіть тут опис зображення

HTH


як можна зробити вихід GoRun в поточному буферному вімі, покажіть, що в оболонці
vagabond

vim-go весь шлях! Однак, щоб зробити цей крок далі, я б видалив код пластини котла, помістив мій 'package_test.go' у розділений буфер і продовжував бити: GoTest &: GoCoverage. Мої 2 копійки ...
rolandvarga

3

Проект GoSpeccy включає вбудовану REPL обмеженого підмножини мови Go. В реалізації використовується goeval .


2

Ні, але ви можете скористатися швидкістю компіляції (як зазначено в інших відповідях).

Погляньте на rango, який використовує цикл генерації-компіляції, щоб імітувати REPL. Ви також можете розпочати його з імпорту та заяв, щоб розпочати інтерактивну сесію.


2

Мені пощастило з налагоджувачем VSCode, але воно досить обмежене, оскільки ви не можете викликати виклики функцій з консолі налагодження Налагодження: Функціональні дзвінки не підтримуються # 2225 .

В основному ви встановлюєте точку перерви після належної настройки launch.jsonфайлу. Потім ви можете розгортати ліворуч у бічній панелі змінних і вводити змінні вирази в консоль налагодження. Налагодження перехідного файлу в VSCode для самоаналізу через налагоджувач





0

Код Go може бути запущений у відповідь на REPL у Visual Studio Code за допомогою розширення Go та Code Runner. Клацніть на трикутнику Виконати ▶, який позначений курсором миші на скріншоті нижче, щоб запустити код і показати результати на панелі «Вивід» внизу коду Visual Studio.

При програмуванні з кодом Go Visual Studio запропонуйте додаткові розширення Go, які можна встановити для розширення функціональності Visual Studio Code.

Перейдіть до коду Visual Studio

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.