似乎“复杂”( getC) 函数被阻塞了。我假设通道一旦被读取就会被销毁,因此我想知道如何sC与getC函数和main函数共享通道而不会陷入死锁(当前片段)package mainfunc main() {//simple function and complex function/channel sC := make(chan string) go getS(sC) cC := make(chan string) go getC(sC, cC)//collect the functions result s := <-sC//do something with `s`. We print but we may want to use it in a `func(s)`print(s)//after a while we do soemthing with `c` c := <-cC print(c)}func getS(sC chan string) { s := " simple completed " sC <- s}func getC(sC chan string, cC chan string) {//we do some complex stuff print("complex is not complicated\n")//Now we need the simple value so we try wait for the s channel. s := <-sC c := s + " more " cC <- c //send complex value}
3 回答
- 3 回答
- 0 关注
- 177 浏览
添加回答
举报
0/150
提交
取消