タグ

Golangとfunctionalに関するy_yukiのブックマーク (2)

  • Go における FunctionalOptionPattern と MethodChaining について考える - pospomeのプログラミング日記

    きっかけ FunctionalOptionPattern MethodChaining MethodChaining の問題点 Error フィールドによる解決方法 Error フィールドによる解決方法の問題 1. 各メソッドでエラーが発生しないような印象を受ける 2. エラーチェックを忘れそう その1 3. エラーチェックを忘れそう その2 FunctionalOptionPattern による解決方法 MethodChaining としての解決方法 Error フィールドの問題点は当に問題なのか? どちらを使うべきなのか? まとめ きっかけこの記事を書くきっかけは以下のブログで、 MethodChaining の代わりに FunctionalOptionPattern を利用したという記事。 https://www.calhoun.io/using-functional-option

    Go における FunctionalOptionPattern と MethodChaining について考える - pospomeのプログラミング日記
  • Goで関数型プログラミング - Qiita

    Goでプログラムを書いていると、汎用的なmap関数やfold関数(reduce関数)のようなものがあれば便利なのに、という場面が結構あります。 そういうときは、それぞれの型専用の関数を一通りあらかじめ用意しておく、というような方法でお茶を濁すことが多いと思いますが、そんなものではHaskellやLispな人はもちろんRubyPythonに慣れたLL脳な人にも満足できないはずです。 そこで記事では、ジェネリックな高階関数をリフレクションを駆使して実装することで、Goで関数型プログラミングを試みようと思います。 単純な実装のmap関数 最初に、関数を引数にとる関数を単純に実装した場合をみてみます。 例えば、sliceのすべての要素に対して関数を適用した結果を新たなsliceで返すMap関数を考えてみます。 package main import ( "fmt" ) var ( ints =

    Goで関数型プログラミング - Qiita
  • 1