errgroup.WithContext یک group و یک context مشتق‌شده برمی‌گرداند. g.Go(fn) یک goroutine شروع می‌کند؛ g.Wait() تا پایان همه بلاک می‌کند و اولین خطای غیر nil را برمی‌گرداند. g.SetLimit(n) هم هم‌زمانی را محدود می‌کند، بدون اینکه worker pool دستی بنویسید.