Atomic Number
For simple counter, sync/atomic can be used instead of Mutex.
package main
import (
"fmt"
"sync"
"sync/atomic"
)
func main() {
var d atomic.Uint32
var wg sync.WaitGroup
wg.Add(100)
for range 100 {
go func() {
d.Add(1)
wg.Done()
}()
}
wg.Wait()
fmt.Println(d.Load())
}