Junior — Middle
Layihələrinizdə error.Group istifadə edərək səhvlərin idarə olunmasını necə həyata keçirdiyinizə dair nümunə paylaşa bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Go paketində errors ilə Group tipi (məsələn, golang.org/x/sync/errgroup-dən) paralel gorutinalarda baş verən bir neçə xətanı asanlıqla toplamaq və işləmək imkanı verir.
errgroup.Group istifadə edərək, tapşırıqları paralel icra etmək və xətaları idarə etmək nümunəsi:
import (
"fmt"
"golang.org/x/sync/errgroup"
)
func processTasks() error {
var g errgroup.Group
tapşırıqlar := []func() error{
func() error { /* tapşırıq 1 */ return nil },
func() error { /* tapşırıq 2 */ return fmt.Errorf("2-ci tapşırıqda xəta") },
func() error { /* tapşırıq 3 */ return nil },
}
for _, tapşırıq := range tapşırıqlar {
t := tapşırıq
g.Go(func() error {
return t()
})
}
if err := g.Wait(); err != nil {
// Qarşılaşılan ilk xətanı işləyin
return err
}
return nil
}
Layihələrimdə, errgroup istifadə edərək, bir neçə müstəqil əməliyyatı paralel şəkildə başlatmışam və xətaları nizamlı şəkildə toplamışam, bu kodu sadələşdirir və oxunaqlılığı artırır.