एक data race तब होती है जब दो या अधिक goroutines समान memory तक समानांतर रूप से पहुँचती हैं, कम से कम एक पहुँच एक write होती है, और उनके बीच कोई synchronization नहीं होता। परिणाम undefined behavior है — corrupted data, crashes, या गलत परिणाम जो रुक-रुक कर प्रकट होते हैं। Go इन्हें खोजने के लिए एक built-in race detector प्रदान करता है।
