Repolode
ryboe

ryboe/q

Goのデバッグ用ヘルパー。q.Q(vars)で整形した出力を、標準出力ではなく$TMPDIR内のログファイルに書き込みます。

スター
1,542
フォーク
69
未解決の Issue
2
最終コミット
13 日前

これは何?

qは、print文によるデバッグに使える小さなGoパッケージです。変数や式をq.Qに渡すと、読みやすく整形して出力します。ネストしたstructもfmt.Printfより確認しやすくなります。

出力先は標準出力ではなく、$TMPDIR/qファイルです。作業中は専用のターミナルでこのファイルをtailする方法が紹介されており、tailの開始やログの消去に使えるシェル関数(qqとrmqq)も用意されています。q.Qの呼び出しは並行利用しても安全です。

VS Code、Zed、Sublime Text、GoLand、Emacs、Vim/NeoVim向けのエディタスニペットが含まれており、q.Qの呼び出しをすばやく挿入できます。このパッケージは、zestypingによるPythonのqモジュールをGoに移植したものです。

主な機能

  • 01q.Qに渡した変数や式を整形して出力します。
  • 02標準出力ではなく$TMPDIR/qに出力を書き込みます。
  • 03シェルヘルパーのqqとrmqqでログファイルのtailや消去ができます。
  • 04並行利用しても安全です。
  • 05VS Code、Zed、Sublime Text、GoLand、Emacs、Vim向けのエディタスニペットが含まれています。

ユースケース

  • Goのデバッグ中に、変数の値やネストしたstructを手早く確認する。
  • 実行中のプログラムの標準出力を散らかさずに、プログラムの状態を追跡する。

クイックスタート

  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内のログファイルに書き込みます。 qは、print文によるデバッグに使える小さなGoパッケージです。変数や式をq.Qに渡すと、読みやすく整形して出力します。ネストしたstructもfmt.Printfより確認しやすくなります。
q は無料で使えますか?ライセンスは?
q は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
q は今もメンテナンスされていますか?
活発にメンテナンス中。q の最終コミットは 2026年10月25日 です。
q は何に使えますか?
Goのデバッグ中に、変数の値やネストしたstructを手早く確認する。 実行中のプログラムの標準出力を散らかさずに、プログラムの状態を追跡する。
q のインストール方法は?
リポジトリをGOPATHにクローンします: git clone https://github.com/ryboe/q "$(go env GOPATH)"/src/q パッケージをインポートし、コード内で変数を指定してq.Qを呼び出します
q はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/ryboe/q

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト