github.com/maikovskiys/l1tasks@v0.0.0-20230927052451-6436d7687dc9/develop/dev02/main.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"math"
     6  	"sync"
     7  )
     8  
     9  /*
    10  Написать программу, которая конкурентно рассчитает значение квадратов чисел взятых из массива (2,4,6,8,10) и выведет их квадраты в stdout.
    11  */
    12  
    13  func main() {
    14  	numbers := []int{2, 4, 6, 8, 10}
    15  	wg := &sync.WaitGroup{}
    16  	for i := 0; i <= len(numbers)-1; i++ {
    17  		wg.Add(1)
    18  		number := numbers[i]
    19  		go func(int) {
    20  			defer wg.Done()
    21  			res := math.Pow(float64(number), 2)
    22  			fmt.Println(res)
    23  		}(number)
    24  
    25  	}
    26  	wg.Wait()
    27  }