package main import ( "fmt" "sync" "sync/atomic" ) func main() { var wg sync.WaitGroup var counter int64 // 注意必须是 int64/uint64 等特定类型 for i := 0; i < 1000; i++ { wg.Add(1) go func() { defer wg.Done() for j := 0; j < 1000; j++ { atomic.AddInt64(&counter, 1) } }() } wg.Wait() fmt.Println("期待的结果:", 1000*1000) fmt.Println("实际结果:", counter) }