**데이터 경쟁(data race)**은 둘 이상의 goroutine이 같은 메모리에 동시에 접근하고, 적어도 하나의 접근이 쓰기이며, 그 사이에 동기화가 없을 때 발생합니다. 결과는 정의되지 않은 동작입니다 — 손상된 데이터, 크래시, 또는 간헐적으로 나타나는 잘못된 결과. Go는 이를 찾는 내장 **경쟁 탐지기(race detector)**를 제공합니다.
데이터 경쟁의 모습
{
counter :=
wg sync.WaitGroup
i := ; i < ; i++ {
wg.Add()
{
wg.Done()
counter++
}()
}
wg.Wait()
fmt.Println(counter)
}
