Goのパッケージ
2026-02-23 19:15:24 Go最終更新日から %s 以上が経過しています。
内容が古くなっている可能性があるのでご注意ください。
内容が古くなっている可能性があるのでご注意ください。
Go向けパッケージの一覧
ちょこちょこと作ってきたので、使いどころがありそうなものをピックアップして一覧にしてみました。
| 名前 | 場所 | 説明 |
|---|---|---|
| shandler | https://github.com/shu-go/shandler ☐↗ | slogでロギングする際にどのように出力側に伝えるかを制御するパッケージ。slog.Debugだけ別の出力先にするとか、複数の出力先に複製するとか、途中で出力レベル(slog.LevelDebugとかのこと)を変更するとか、色付けをするとか、ができるようになります。 |
| findcfg | https://github.com/shu-go/findcfg ☐↗ | .yamlや.json, .configが置かれている場所を検索するパッケージ。複数の置き場所(候補)を許容しつつそれらを見に行く優先順位を付けているようなソフトウェアで使います。git-cx ☐↗ やfaker ☐↗ で使っています。 |
| gotwant | https://github.com/shu-go/gotwant ☐↗ | お手軽に使えるテスト用のパッケージ。比較して、違ったらエラー出力する類のやつです。余分な機能は極力持たせない感じで作っています。多数の自作ソフトウェアで利用しています。最近では出力結果を色付けするコマンドを同梱するようになりました。 |
| orderedmap | https://github.com/shu-go/orderedmap ☐↗ | 格納順を保持するタイプのマップです。genericsを使っていて、他の同種のものより少し性能・機能は勝っています。JSONとYAMLのMarshal/Unmarshalあり。git-cx ☐↗ やfaker ☐↗ で使っています。 |
| gli | https://github.com/shu-go/gli ☐↗ | コマンドラインツール作成用のフレームワークです。構造体でコマンドを定義するタイプ。コマンド・オプションの定義やグルーコードを書く労力を減らしコマンドの処理内容に注力できるようにすることを目的としています。構造体に特定のメソッド(Run/Before/Initとか)を書いておけば main関数に少量のコードを書くだけで動きます。ほぼすべての自作ソフトウェアで使っています。 |
| cliparser | https://github.com/shu-go/cliparser ☐↗ | gliで使っている、コマンドライン文字列を各要素に切り出すためのパッケージです。事前にヒント(値が続いてくるオプションかどうか、とか)を与えることで、コマンド・オプション・その他を判別させます。 |
| ennet | https://github.com/shu-go/ennet ☐↗ | emmet ☐↗ の文字列をXMLに展開するパッケージです。emmetは ul>li*3 といった、ネストした要素の省略記法ですが、これをXMLファイルの操作ツールであるeksemel ☐↗ で要素追加をする際の記法に利用しています。 |
| minredir | https://github.com/shu-go/minredir ☐↗ | OAuth2とかで使う、処理の過程で一旦特定のURLにアクセスが来る場合のためにHTTP/HTTPSサーバーを立ち上げておきたい場合に使います。uniqal ☐↗ やpmsync ☐↗ で使っています。 |
| nmfmt | https://github.com/shu-go/nmfmt ☐↗ | フォーマット文字列として $name や ${name} という表記ができるようになるパッケージです。 |
| elapsed | https://github.com/shu-go/elapsed ☐↗ | 経過時間を計測するタイマー機能を提供するパッケージです。「elapsed: 123ms」とかそういうのを表示するためのものです。 |
| rog | https://github.com/shu-go/rog ☐↗ | ロギングのパッケージです。slogとかあるしお役御免かなーと思ってはいるんですが、デバッグ用途でちょくちょく使っています。rog.EnableDebug() → rog.Debug() → rog.DisableDebug() で局所的にかつ深堀しつつデバッグするのが楽なので。 |
- 📄 Hugo テーマ 9. Pagefind でサイト内検索機能を付ける2026-06-15 00:11:30静的なインデックスを使った検索 UI を提供する Pagefind を組み込みます。
- 📄 Hugo テーマ 8. Shortcodes と Render hooks2026-06-15 00:11:30Markdown で記述したコンテンツ (テーマの利用側) に対して Hugo が用意した HTML 変換の仕組みを解説します。
- 📄 Hugo テーマ 7. layouts/baseof.html をいじる2026-06-15 00:11:30サイト全体に共通する、ページのレイアウト定義を編集します。
- 📄 Hugo テーマ 6. layouts/home.html をいじる2026-06-15 00:11:30トップページのレイアウト定義を編集します。
- 📄 Hugo テーマ 5. layouts/section.html をいじる2026-06-15 00:11:30content 内のディレクトリーに対応するレイアウト定義を編集します。
- 📄 Hugo テーマ 4. layouts/page.html をいじる2026-06-15 00:11:30コンテンツに対応するページのレイアウトを編集します。
- 📄 Hugo テーマ 3. 作られたファイル2026-06-15 00:11:30前回作ったテーマを構成するファイルを解説します。
- 📄 Hugo テーマ 2. まずは作ってみる2026-06-15 00:11:30テーマを作りプロジェクトに適用するところまでを解説します。
- 📄 Hugo テーマ 1. はじめに2026-06-15 00:11:30連載「Hugo テーマ」を行う背景とその方針を説明します。
- 📄 vvin2026-05-30 16:58:07Windows のウィンドウサイズを操作する CLI アプリ