Repolode
ryboe

ryboe/q

Помощник для отладки на Go: вызовите q.Q(vars), чтобы вывести отформатированный результат в лог-файл в $TMPDIR, а не в stdout.

Звёзды
1,542
Форки
69
Открытые issues
2
Последний коммит
12 дней назад

Что это?

q — небольшой пакет для отладки с помощью вывода значений. Вызовите q.Q с переменными или выражениями, и пакет выведет их в удобном для чтения формате, в котором проще разбирать вложенные структуры, чем в выводе fmt.Printf.

Вместо stdout q дописывает результат в файл $TMPDIR/q. В проекте рекомендуют выделить отдельный терминал и запустить в нём tail для этого файла. Также доступны shell-функции qq и rmqq, чтобы начать просмотр лога или очистить его. Вызовы q.Q безопасны при конкурентном использовании.

В комплект входят сниппеты для VS Code, Zed, Sublime Text, GoLand, Emacs и Vim/NeoVim, позволяющие быстро вставлять вызовы q.Q. Пакет — порт модуля Python q от zestyping.

Ключевые возможности

  • 01Выводит переменные и выражения, переданные в q.Q, в удобном для чтения формате.
  • 02Записывает результат в $TMPDIR/q вместо stdout.
  • 03Shell-функции qq и rmqq позволяют просматривать лог в реальном времени или очищать его.
  • 04Безопасен при конкурентном использовании.
  • 05Сниппеты для VS Code, Zed, Sublime Text, GoLand, Emacs и Vim.

Сценарии использования

  • Быстро проверять значения переменных и вложенные структуры при отладке Go.
  • Отслеживать состояние программы, не засоряя вывод работающего приложения в терминале.

Быстрый старт

  1. 1

    Клонируйте репозиторий в GOPATH

    git clone https://github.com/ryboe/q "$(go env GOPATH)"/src/q
  2. 2

    Импортируйте пакет и вызовите q.Q, указав свои переменные в коде

Что важно знать

  • Вывод записывается в файл журнала, поэтому, чтобы его увидеть, нужно следить за $TMPDIR/q в отдельном терминале.

В подборках

Темы

Частые вопросы

Что такое q?
Помощник для отладки на Go: вызовите q.Q(vars), чтобы вывести отформатированный результат в лог-файл в $TMPDIR, а не в stdout. q — небольшой пакет для отладки с помощью вывода значений. Вызовите q.Q с переменными или выражениями, и пакет выведет их в удобном для чтения формате, в котором проще разбирать вложенные структуры, чем в выводе fmt.Printf.
q можно использовать бесплатно? Какая у него лицензия?
q распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
q всё ещё поддерживается?
Активно поддерживается. Последний коммит в q — 25 окт. 2026 г..
Для чего можно использовать q?
Быстро проверять значения переменных и вложенные структуры при отладке Go. Отслеживать состояние программы, не засоряя вывод работающего приложения в терминале.
Как установить q?
Клонируйте репозиторий в GOPATH: git clone https://github.com/ryboe/q "$(go env GOPATH)"/src/q Импортируйте пакет и вызовите q.Q, указав свои переменные в коде
Где скачать q?
Исходный код и инструкции по установке — на GitHub: https://github.com/ryboe/q

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Библиотека логирования для Python, которая заменяет настройку стандартного logging единым логгером, ротацией файлов, цветным выводом и структурированными логами.

24,2 тыс.833PythonMITАктивно поддерживаетсяОбновлён позавчера