Go WaitGroup.Go in 1.25: When I Still Reach for errgroup
Go 1.25 added WaitGroup.Go, which removes the Add and Done boilerplate. Here is the before and after, plus when errgroup and SetLimit are still the…
Go 1.25 added WaitGroup.Go, which removes the Add and Done boilerplate. Here is the before and after, plus when errgroup and SetLimit are still the…
I wrapped Go errors with %v for a year and broke errors.Is without noticing. The golang error handling rules I follow now, with before and…
I found 41,217 leaked goroutines in one pprof dump. The Go concurrency patterns I actually ship in 2026: channel ownership, WaitGroup.Go, and errgroup.
The Go concurrency patterns I actually reach for in 2026: errgroup instead of sync.WaitGroup, context cancellation everywhere, worker pools without cargo cult.
Go 1.25 added WaitGroup.Go and a stable testing/synctest. Here are the Go concurrency patterns I actually use in 2026, and the boilerplate I deleted.
The Go error patterns I actually use in production: fmt.Errorf %w wrapping, sentinel vs typed errors, errors.Is vs errors.As, and errgroup at scale.