在 Go 中,通道分配是什么意思?

我有这个代码,


// The prime sieve: Daisy-chain Filter processes.

func main() {

    ch := make(chan int) // Create a new channel.

    go Generate(ch)      // Launch Generate goroutine.

    for i := 0; i < 10; i++ {

        prime := <-ch

        print(prime, "\n")

        ch1 := make(chan int)

        go Filter(ch, ch1, prime)

        ch = ch1

    }

}

我想了解频道分配是什么意思。例如ch=ch1,这是做什么的?深拷贝还是浅拷贝?这有什么保证?



DIEA
浏览 167回答 1
1回答

湖上湖

通道是一种引用类型。请参阅“通道是否通过引用隐式传递”。(参考类型:切片、映射、通道、指针、函数)并参见“&nbsp;Go - Pointer to map&nbsp;”。ch = ch1只需复制ch1to的参考值ch。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go