024_go语言中的缓冲通道

代码演示

package main

import "fmt"

func main() {
	messages := make(chan string, 2)
	messages <- "buffered"
	messages <- "channel"
	fmt.Println(<-messages)
	fmt.Println(<-messages)
}

代码运行结果

buffered
channel

代码解读:

  • 默认通道是无缓冲的,这意味着只有在有对应的接收方时候,才可以进行发送
  • 可缓冲的通道,允许没有接收方的情况下,缓存限定数量的值
  • 以上例子make了一个通道,可以缓冲两个值
posted @ 2018-04-08 19:14  Joestar  阅读(124)  评论(0编辑  收藏  举报