channel 是有类型的管道,可以用 channel 操作符 <- 对其发送或者接收值。
ch <- v // 将 v 送入 channel ch。 v := <-ch // 从 ch 接收,并且赋值给 v。
(“箭头”就是数据流的方向。)
和 map 与 slice 一样,channel 使用前必须创建:
ch := make(chan int)
默认情况下,在另一端准备好之前,发送和接收都会阻塞。这使得 goroutine 可以在没有明确的锁或竞态变量的情况下进行同步。
本文介绍了Go语言中Channel的基本概念及用法,包括如何创建Channel、使用Channel进行数据发送与接收等核心操作。此外还探讨了Channel如何帮助goroutine实现同步,避免竞态条件。
2318

被折叠的 条评论
为什么被折叠?



