タグ

ブックマーク / qiita.com/weloan (2)

  • golangにgoto文が存在する理由 - Qiita

    goto文といえばどこにでも飛べるという圧倒的自由度を誇る分、 文の流れを追いづらくなるといった可読性の問題等から基的に使うべきでなく、 使った方が見やすい場合でも代替の方法があるならそちらを使うべきといったイメージがありました。 おそらく大半のプログラマもそんな感じだと思います。 しかしモダンでイケイケなことで定評のあるgolangにおいてもgoto文がサポートされています。 統一しただけとはいえ、while文すら捨てた新進気鋭のgolangが、 30未満という洗練された予約語の中にgoto文を残したわけです。 もちろん言語界隈はgo繋がりというだけで採用されるコネ社会ではありません。 goto文=悪というプロパガンダを刷り込まれた我々雛鳥世代が黙っているはずはありません。 ピーチクパーチク騒ぐに違いないことは歴史が証明しています。 Effective Go的なドキュメントにgoto文

    golangにgoto文が存在する理由 - Qiita
  • Go言語のFunctional Option Pattern - Qiita

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

    Go言語のFunctional Option Pattern - Qiita
  • 1