Go/iter でPipelineパターンやってみた

Goのv1.23で追加されたiterパッケージでPipelineパターンをやってみる。 Pipelineパターンはiterと併用できる? Pipelineパターンをiterと併用するメリットは? Pipelineパターンやiterはどこで使うべき? 要件 アプリケーションのバックエンド開発を想定。 商品を単価と個数をrepositoryから取り出して、単価x個数の合計金額をserviceで計算、最後handlerで計算結果を確認という流れ。 実装 iterパターンの実装を確認。 type Repository struct { items [][2]int // [][2]int{price, num} } func (r Repository) Generate() iter.Seq2[int, [2]int] { // r.itemsはコンストラクタによってlenは100 return slices.All(r.items) } type Service struct { r Repository } func (s Service) Iter() iter.Seq[int] { return func(yield func(int) bool) { for _, item := range s.r.Generate() { p := s.sumPrice(item[0], item[1]) _ = yield(p) } } } type Router struct { s Service } func (r Router) HandleWithIter() { var count int for sum := range r. [続きを読む]

ブログ始めました。

/img/top.jpg

ブログを始めました。目的は、これまでQiitaやnote、はてなブログに書いたものを集約することと、作ったものを紹介する記事を書くため。

フルリモートでエンジニアをやっています。

好きな言語はGo。

自己紹介は、こちらから。https://blob.yyyoichi.com/page/about/