chan管道的相关问题
func InMemSort(a chan int) chan int {
returnData := make(chan int)
sli := []int{}
go func() {
for v := range a {
sli = append(sli, v)
}
sort.Ints(sli)
for _, val := range sli {
returnData <- val
}
close(returnData)
}()
return returnData
}1、这块中的returndata chan 并未设置,len属性,在给returndata 中放值的时候,是否需要考虑returndata 可以接受的空间?
2、当另一个方法从returndata取值的时候,是先给returndata中将值全部放入后 range出来,还放一个 range一个?