タグ

Goとqiitaに関するluccafortのブックマーク (1)

  • Go言語のFunctional Option Pattern - Qiita

    ###オプション パッケージを作る際、柔軟性を持たせるためにオプションを持たせたい時がしばしばあります。 しかしオプションは知っての通り設定しないことが少なくありません。 単にコンストラクタに並べるようでは無用な複雑さをはらむことになります。 JavaなどではOptional Parameterなどのように、デフォルト値が指定できる機能があります。 機能の厳選されたgo言語ではそのような機能はありませんが、 "Self Referential Functions Design"というテクニックがあり、 それについての記事がRob Pike氏の記事を筆頭にいくつか説明されています。 オプションと相性が非常に良いため、合わせて"Functional Option Pattern"とも呼ばれています。 Dave Cheney氏の記事を参考におおまかに説明したいと思います。 ###様々な解決策 あ

    Go言語のFunctional Option Pattern - Qiita
    luccafort
    luccafort 2017/04/02
    実装が冗長だなあとは思うけど確かにパッケージは使う側を想定して作るべきという主張もわかるしこういう実装方法がベターなのかなあ。(´ε`;)ウーン…
  • 1