OpenCodeソフトウェア開発⭐ リポ 0品質スコア 55/100
go-functional-options
GoのコンストラクタとパブリックAPIに対する関数型オプションパターンです。3つ以上のパラメータを持つオプション設定を含むAPI設計時に活用できます。
description の原文を見る
The functional options pattern for Go constructors and public APIs. Use when designing APIs with optional configuration, especially with 3+ parameters.
SKILL.md 本文
注意: このスキルのライセンスは ライセンス未確認 です。本サイトでは本文プレビューのみを表示しています。利用前に GitHub の原本でライセンス条件をご確認ください。
関数型オプションパターン
出典: Uber Go Style Guide
関数型オプションは、非公開の Option 型を宣言し、その情報を内部構造体に記録するパターンです。コンストラクタはこれらのオプションの可変長個数を受け入れ、結果を設定するために適用します。
使用する場合
以下の場合に関数型オプションを使用します:
- コンストラクタまたは公開 API に 3 つ以上のオプション引数がある場合
- 時間経過とともに新しいオプションが追加される可能性のある拡張可能な API
- 呼び出し元の利便性が重要である場合 (デフォルト値を渡す必要がない)
パターン
コアコンポーネント
- 非公開の
options構造体 - すべての設定を保持 - 公開の
Optionインターフェース - 非公開のapplyメソッド付き - オプション型 - インターフェースを実装
With*コンストラクタ - オプションを生成
オプションインターフェース
type Option interface {
apply(*options)
}
非公開の apply メソッドにより、このパッケージからのオプションのみ
...
詳細情報
- 作者
- HadiCherkaoui
- ライセンス
- 不明
- 最終更新
- 2026/4/16
Source: https://github.com/HadiCherkaoui/opencode-config / ライセンス: 未指定