いろいろ備忘録日記

主に .NET とか Java とか Python絡みのメモを公開しています。最近Go言語勉強中。

Goメモ-85 (チャネルからのデータをフィルタリングする関数, Filter)

概要 サンプル 参考 関連記事 概要 引き続き、小ネタチャネル関数の続き。( #関連記事 参照) パイプラインを使って処理する場合、やっぱり C# の Where とか Java の filter みたいなのが欲しいところですね。 てことで、サンプルつくってみました。 サンプ…

Goメモ-84 (指定した分チャネルからのデータをスキップする関数, Skip,SkipWhile)

概要 サンプル 参考 関連記事 概要 引き続き、小ネタチャネル関数の続き。( #関連記事 参照) 以前の記事で、指定した個数または条件に合致する間、チャネルから要素を取得する Take 関数について書きました。 devlights.hatenablog.com C#のLinqには、これ…

Goメモ-83 (チャネルの要素に対してインデックスを付与して返す関数, Enumerate)

概要 サンプル 参考 関連記事 概要 引き続き、小ネタチャネル関数の続き。( #関連記事 参照) pythonに enumerate という関数があります。 この関数は、指定されたシーケンスを取り出すと同時にインデックスを付与して返してくれます。 こんな感じ。 $ pytho…

Goメモ-82 (デバッグ時に表示される文字列表現, GoLand, DebugString)

概要 サンプル 概要 忘れない内にメモメモ。 知らなかったのですが、GoLandでデバッグ時に DebugString() string というメソッドを用意しておくと デバッガで表示してくれるみたい。 blog.jetbrains.com v2019.2 から追加された機能みたいですね。 試してみ…

Goメモ-81 (複数のsync.WaitGroupをまとめて管理する型, MergedWaitGroup)

概要 サンプル 概要 先日、指定されたワーカー数でファンアウトさせる関数をつくってみました。 devlights.hatenablog.com ついでなので、それを使った型を一つ作ってみました。 処理を書いていると、sync.WaitGroupを頻繁に利用すると思いますが たまに、sy…

Goメモ-80 (go test のキャッシュを削除するやり方メモ)

概要 キャッシュを消す方法 毎回キャッシュ無視してテスト実行してもらう go test のフラグにどんなのがあるのかを調べる 参考情報 概要 忘れない内にメモメモ。 テストをするために go test を実行していると、たまに以下のようにキャッシュした結果を表示…

Goメモ-79 (指定されたワーカー数でファンアウトさせる関数, FanOut)

概要 サンプル 参考 関連記事 概要 引き続き、小ネタチャネル関数の続き。( #関連記事 参照) 以前にファンインする関数について記事書きました。 devlights.hatenablog.com ついでなので、ファンアウトさせる関数も書いてみました。 サンプル package chans…

Goメモ-78 (指定したインターバルでデータを出力するチャネル, Interval)

概要 サンプル 参考 関連記事 概要 引き続き、小ネタチャネル関数の続き。( #関連記事 参照) たまに処理をするたびに一定時間のインターバルを置いておきたいときがあったりします。 たいてい以下のように書くと思います。 for v := range Take(Repeat(1)) …

Goメモ-77 (シーケンスをチャネルにする, ForEach)

概要 サンプル 参考 関連記事 概要 引き続き、小ネタチャネル関数の続き。( #関連記事 参照) チャネルのパイプラインを構築するとき、諸元のデータをスライスとかで持っている場合があると 最初にそれをチャネルに流していく必要があったりします。一個ルー…

Goメモ-76 (ループ用のチャネル, Loop, LoopInfinite)

概要 サンプル 参考 関連記事 概要 チャネル関数の続き。( #関連記事 参照) 書籍には記載されていないですが、チャネルさんが触ってて面白いので、ネタ的な関数をこれから数回分続けようかなと。 まず、ループする用のチャネルつくる関数です。普通に回した…