Herkese merhaba!

Uzun yıllardır bol miktarda kişisel zaman ve enerji harcayarak bilgimizi hepinizle paylaşıyoruz. Ancak şu andan itibaren bu blogu çalışır durumda tutabilmek için yardımınıza ihtiyacımız var. Yapmanız gereken tek şey, sitedeki reklamlardan birine tıklamak olacaktır, aksi takdirde hosting vb. masraflar nedeniyle maalesef yayından kaldırılacaktır. Teşekkürler.

Birden fazla goroutine çalıştırıyorsanız ve bir sonraki adıma geçmeden önce hepsinin bitmesini beklemek istiyorsanız, WaitGroup kullanabilirsiniz.


Örnek


package main

import (
"fmt"
"sync"
"time"
)

var wg sync.WaitGroup

func main() {
teams := map[string]int{
"Fenerbahce": 2,
"Besiktas": 3,
"Galatasaray": 0,
"Trabzonspor": 4,
"Altay": 1,
"Bolu": 10,
}

wg.Add(len(teams))

for k, v := range teams {
go greet(k, v)
}

wg.Wait()
}

func greet(team string, delay int) {
defer wg.Done()
time.Sleep(time.Duration(delay) * time.Second)
fmt.Println(team)
}

Galatasaray
Altay
Fenerbahce
Besiktas
Trabzonspor
Bolu