A data race occurs when two or more goroutines access the same memory concurrently, at least one access is a write, and there's no synchronization between them. The result is undefined behavior — corrupted data, crashes, or wrong results that appear intermittently. Go provides a built-in race detector to find them.
