最后更新于4年前
数据通道(channel)是有类型的队列,它用于协程(goroutine)之间以线程安全的的方式通信。
通道的零值是nil。
nil
通道的基本用法:
package main import ( "fmt" ) func main() { // 创建一个容量为1,无缓冲的,交换int数据的channel ch := make(chan int) // 新起一个协程,将数值3通过channel传递出去 go func() { ch <- 3 }() // 从channel中读取数据 // 下面的操作会等待上面的协程发送一个值 n := <-ch fmt.Printf("n: %d\n", n) }
n: 3
点击此处 亲自在编程操场执行上述代码。