私はNode.jsの背景から来て、そしてそこに典型的なパターンは、オブジェクトのオプションを取る機能を持つことで、あなたは、オプションのパラメータのプロパティを設定オブジェクト、すなわち、のようだ:Goでオプションのパラメータを指定する方法は?
foo({
bar: 23,
baz: 42
});
これは、JavaScriptのオプションパラメータと名前付きパラメータとの「同等」です。
ここでは、可変パラメータを除いて、Goにオプションのパラメータはありませんが、名前付きパラメータの可読性が不足していることがわかりました。したがって、通常のパターンは構造体を渡すように見えます。
OTOH構造体をデフォルト値で定義することはできないため、構造体を設定する関数が必要です。
だから私はで終わる:
- 構造体を作成し、デフォルト値で、それを満たす関数を呼び出します。
- 変更したい値を上書きします。
- 実際に呼び出す関数を呼び出して、構造体を渡します。
これは、JavaScriptのソリューションに比べてかなり複雑で時間がかかります。
実際には、これはGoのオプションパラメータと名前付きパラメータを扱う慣用的な方法ですか、それとも簡単なバージョンですか?
あなたが持っている問題を示す例を提供した場合、あなたに「行く」方法を示す方が簡単かもしれません。 – sberry
http://dave.cheney.net/2014/10/17/functional-options-for-friendly-apisそのトピックについて大きな洞察を与えます –