func collectRTT(ctx context.Context, urls []string) (map[string]time.Duration, error) { pingMap := make(map[string]time.Duration, len(urls)) var mu sync.Mutex var wg sync.WaitGroup errCh := make(chan error, 1) for _, url := range urls { wg.Add(1) go func(u string) { defer wg.Done() dur, err := rtt(ctx, u) if err != nil { select { case errCh <- fmt.Errorf("RTT error %s, %w", u, err): default: } return } mu.Lock() pingMap[u] = dur mu.Unlock() }(url) } wg.Wait() close(errCh) if err := <-errCh; err != nil { return nil, err } return pingMap, nil }
Golang
Kuidas sa samm-sammult arendada uut mikroteenust ühe Book entiteediga?
Kui palju goroutine saab ühel masinal luua? Kuidas arvutada?
Mis juhtub, kui sisestate [veebisaiti] brauserisse? Rääkige võimalikult üksikasjalikult, milliseid protokolle kasutatakse
Kuidas erinevad Kuberneteses ReplicaSet ja Deployment?
Räägi Go mälu töö korraldamisest
Rääkige kasutusjuhtumist liideste kasutamisel tootmislogikas arhitektuuri vaatenurgast
Mida tead Go kontekstiga töötamise kohta? Millised meetodid tal on?
Milleks on koodis lintrid? Milliseid sa kasutasid?
Kui sa oleksid Go keele arendaja, millist andmestruktuuri kasutaksid buferiseeritud kanali rakendamiseks?
Rääkige mulle tühjast struktuurist struct{}. Kasutusjuhtumid, kui palju mälu see võtab?
Mis on Value Object ja kus seda kasutatakse? Praktiline näide.
Milliseid Linuxi käske tead? Räägi juhtumist, kus töötasid konsooliga.