Перейти к содержимому
ГоМастер

Поиск по урокам

Найдите урок, курс, термин или раздел

Песочница Go: запускайте код прямо в браузере

Golang-песочница работает на вашей стороне: код не отправляется на сервер и не требует регистрации. Долгие программы прерывает защитный лимит времени, очень длинный вывод — лимит строк. Пишите, ломайте, отлаживайте.

45 программ в витринекод не покидает браузерyaegi — Go в WebAssembly

Пример: структуры, методы, sort и горутины

Измените код как хотите — например, добавьте пользователя или поменяйте сортировку на обратную (users[j].Age < users[i].Age).

Вывод

Запустите код, чтобы увидеть вывод.

Кнопка «Поделиться» копирует ссылку с вашим кодом — у получателя он откроется прямо в песочнице. Фрагмент хранится только в адресе ссылки: код не отправляется на сервер.

Виртуальный экран fyne: примеры приложений, которые можно кликать

Ниже — витрина настоящих программ: калькулятор, список задач, конвертер единиц и валют, помидорный таймер, секундомер, канбан-доска, тест-викторина, генератор паролей, табло опроса, мини-плеер, панель логов, счётчик XP, карточки повторения, трекер привычек, панель тестов, конфиг-редактор, роутер запросов — 25 gui примеров go, сгруппированных по разделам «Инструменты», «Формы», «Медиа и опросы» и «Утилиты». Это fyne онлайн песочница: выберите приложение, нажмите его кнопки — обработчики поменяют виджеты и запишут события в журнал.

Виртуальный экран

HTML-модель виджет-дерева fyne

Витрина приложений — 25 программ

Инструменты

Формы

Медиа и опросы

Утилиты

Нажмите на программу — код загрузится в песочницу автоматически.

Калькуляторfyne · мок

0

Журнал событий

Экран собран: «Калькулятор»

Виртуальный экран — gui песочница go онлайн: модель виджет-дерева fyne. Настоящий GUI требует OpenGL и на браузер не рассчитан, но конструкторы и сеттеры кода разбираются и рисуются честно: кнопки кликаются, поля вводятся, неподдержанные API помечаются как «вне эмуляции». Все gui примеры go и примеры fyne приложений написаны на том же подмножестве API, что и уроки курса «Fyne: GUI на Go» — 25 уроков, от первого окна до десктопной сборки.

Виртуальный терминал: bubbletea онлайн — TUI прямо в браузере

Это tui песочница go: 20 настоящих bubbletea- программ — панель задач, системный монитор, меню выбора, часы, помидорный таймер, табло опроса, мини-плеер, конвертер валют, счётчик калорий, викторина, просмотр логов, карточки Go, прогон тестов, конфиг-загрузчик, структурные логи, трейс-визор, миграции БД, rate limiter, пулы соединений и грейсфул-шатдаун — исполняются в виртуальном терминале go без установки чего-либо. Архитектура Elm (Model → Update → View) детерминирована, поэтому клавиши кнопок действительно проходят через Update вашей модели, а кадр View перерисовывается с lipgloss-цветами. Выберите пример по группам «Задачи и опросы», «Инструменты» или «Медиа и игры», кликайте клавиши и наблюдайте шаги Update в журнале.

Виртуальный терминал

модель Bubble Tea · Model → Update → View

Отредактируйте модель, Update или View — и нажмите «Собрать модель»: код разберётся и начнёт отвечать на клавиши, как настоящий tea.Program.

Витрина TUI-программ — 20 программ

Задачи и опросы

Инструменты

Медиа и игры

Нажмите на программу — код загрузится в песочницу автоматически.

виртуальный терминал · bubbleteaalt-screen
ПАНЕЛЬ ЗАДАЧ
▸ 1. Пройти урок
2. Собрать экран
3. Нажать enter
░░░░░░░░░░ выполнено: 0 из 3
↑/↓ — выбор, enter — отметить, q — выход

Клавиатура — обработано в Update

Журнал программы

модель собрана: tasks []string (3) · cursor int = 0 · done int = 0

программа работает — нажмите клавишу ниже

Виртуальный терминал — та же эмуляция, что и в уроках курса «Bubble Tea: TUI-приложения в терминале»: кнопки — это обработанные в Update клавиши и Msg-сообщения (тики), а «вне эмуляции» честно помечается в журнале. Код можно править: нажмите «Собрать модель», и терминал начнёт отвечать уже вашей программе.

Что поддерживает интерпретатор

Базовый синтаксис

переменные, константы, iota, операторы, if, for, switch, range

Функции

multi-return, named returns, variadic, замыкания, рекурсия

Данные

массивы, срезы (append/copy), карты, структуры, указатели

Методы и интерфейсы

value/pointer receiver, interface{}, any, type assertion

Ошибки

errors.New, fmt.Errorf, %w, свои типы с методом Error()

Конкурентность

горутины, каналы (буфериз./небуфериз.), close, select, range по каналу

Пакеты

fmt, strings, strconv, math, sort, errors, time.Sleep

defer/panic/recover

полная семантика LIFO и восстановления

Виртуальный экран fyne

VBox/HBox/Grid/Border, Label, Button, Entry, Check, Select, Progress, Card

Виртуальный терминал Bubble Tea

Model/Update/View, клавиши и Msg, spinner, lipgloss-цвета

Песочница работает на двух движках:

  • • Основной — настоящий Go: интерпретатор yaegi, скомпилированный в WebAssembly. Полная семантика языка: случайный порядок итерации карты, руны при range по строке, метки, каналы, close и select.
  • • Резервный — упрощённый интерпретатор, включается автоматически, только если основной недоступен. Его упрощения: порядок карты отсортирован, range по строке идёт по байтам, метки и каналы не поддерживаются.
  • • В обоих движках действуют лимиты времени и объёма вывода.

Учитесь системно — начните с бесплатного курса «Go с нуля» или выберите библиотеку.