github.com/maikovskiys/l1tasks@v0.0.0-20230927052451-6436d7687dc9/develop/dev03/main.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "math" 6 "sync" 7 ) 8 9 /* 10 Дана последовательность чисел: 2,4,6,8,10. Найти сумму их квадратов(22+32+42….) с использованием конкурентных вычислений. 11 */ 12 13 func main() { 14 wg := &sync.WaitGroup{} 15 numbers := []int{2, 4, 6, 8, 10} 16 result := 0.0 17 for i := 0; i <= len(numbers)-1; i++ { 18 number := numbers[i] 19 wg.Add(1) 20 go func(int, float64) { 21 defer wg.Done() 22 res := math.Pow(float64(number), 2) 23 result += res 24 }(number, result) 25 wg.Wait() 26 } 27 28 fmt.Printf("result: %v\n", result) 29 30 }