35 lines
331 B
Go
35 lines
331 B
Go
package main
|
|
|
|
import "sync"
|
|
|
|
// go run -race main.go
|
|
|
|
type Data struct {
|
|
X int
|
|
Y int
|
|
}
|
|
|
|
func main() {
|
|
var data Data
|
|
values := make([]int, 2)
|
|
|
|
wg := sync.WaitGroup{}
|
|
wg.Add(2)
|
|
|
|
go func() {
|
|
defer wg.Done()
|
|
|
|
data.X = 5
|
|
values[0] = 5
|
|
}()
|
|
|
|
go func() {
|
|
defer wg.Done()
|
|
|
|
data.Y = 10
|
|
values[1] = 10
|
|
}()
|
|
|
|
wg.Wait()
|
|
}
|