[[Go]]でプログレスバーに進捗状況を表示する。 [[pb]]を使う。以下は[[チャネル]]を使った非同期処理に対してプログレスバーで進捗状況を表示するコード。 ```go import ( "github.com/cheggaaa/pb/v3" ) // 中略 func InspectRecords(records []Seed, concurrency int) (results []Result) { semChan := make(chan struct{}, concurrency) asyncResultsChan := make(chan AsyncResult, len(records)) progress := pb.StartNew(len(records)) for i, record := range records { i := i record := record go func() { semChan <- struct{}{} progress.Increment() r, err := inspect(i+1, record) asyncResultsChan <- AsyncResult{Value: r, Err: err} <-semChan }() } // 中略 ```