数据通道

数据通道(channel)是有类型的队列,它用于协程(goroutine)之间以线程安全的的方式通信。
通道的零值nil
通道的基本用法:
Go
Output
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
👉
点击此处
👈
亲自在编程操场执行上述代码。