面试题答案
一键面试package main
import (
"fmt"
)
func squareTask(num int, resultChan chan int) {
resultChan <- num * num
}
func main() {
tasks := []int{1, 2, 3, 4, 5}
resultChan := make(chan int, len(tasks))
for _, task := range tasks {
go squareTask(task, resultChan)
}
results := make([]int, 0, len(tasks))
for i := 0; i < len(tasks); i++ {
results = append(results, <-resultChan)
}
close(resultChan)
fmt.Println(results)
}