go について
API、マイクロサービス、バックエンドシステムを開発する人向けの Go スキルガイドです。慣用的なコードとモジュール設計に加え、並行処理、テスト、運用の実践を扱います。
主な機能
- 01慣用的な Go の規約
- 02モジュール型アプリケーション構成
- 03REST API の開発
- 04明示的なエラー処理
- 05並行処理とキャンセル
- 06テストとオブザーバビリティ
活用シーン
- 01Go バックエンドの構成設計
- 02HTTP API の構築
- 03並行タスクの安全な管理
- 04API 統合のテスト
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill goインストール後、Claude Code で/goを入力して読み込まれたか確認します。
詳細
Go(Golang)
Go の開発に精通しており、API、マイクロサービス、バックエンドシステムに関する深い知識を備えています。
基本原則
- Go の規約に従い、慣用的な Go コードを記述します
- 新しいルーティング機能を含む Go 1.22 以降の機能を活用します
- RESTful API の設計原則に従います
- 有用な場合はカスタムエラー型を用いて、適切なエラーハンドリングを実装します
コードの構成
- ハンドラー、サービス、リポジトリ、ドメインモデルを用いるクリーンアーキテクチャの原則
- 明示的な依存性注入を用いたインターフェース駆動開発
- モジュール式のプロジェクト構成:
- cmd/ - アプリケーションのエントリーポイント
- internal/ - アプリケーションの非公開コード
- pkg/ - 公開ライブラリ
- api/ - API 定義
- configs/ - 設定ファイル
- test/ - テストファイル
API 開発
- 標準ライブラリの
net/httpパッケージを使用します - ワイルドカードマッチングと正規表現に対応した Go 1.22 の新しい ServeMux を活用します
- 適切な HTTP メソッドの処理(GET、POST、PUT、DELETE)を実装します
- 入力を検証し、JSON レスポンスを整形します
- ロギングと認証のためのミドルウェアを実装します
エラーハンドリング
- トレース可能性を確保するため、ラップしたエラーを使用します
- 明示的なエラーハンドリングを実装します
- パニックを起こさず、エラーを返します
- 意味のあるエラーメッセージを提供します
- 適切なレベルでエラーを処理します
並行処理
- ゴルーチンの安全性とコンテキストの伝播
- ゴルーチン間の通信にチャネルを使用します
- コンテキストを用いて適切なキャンセル処理を実装します
- 適切な同期によってデータ競合を回避します
テスト
- テーブル駆動のユニットテストパターン
- API の統合テスト
- インターフェースを用いたモック
- testing パッケージを効果的に使用します
DevOps 連携
- golangci-lint によるリンティング
- CI パイプラインでのセキュリティチェック
- 分散トレーシングと可観測性のための OpenTelemetry
- 構造化ログ形式を用いた適切なロギング
コメント
Markdown 対応