通道
var {变量名} chan {通道类型}// 定义一个字符串类型的消息通道
var msgChan chan string
// 为通道分配内存空间,表示通道中可缓存的数据量,不指定时默认为0
msgChan = make(chan string,10)package main
import (
"fmt"
)
func myFunc(msgChan chan bool) {
fmt.Println("Inside my goroutine")
// 将数据写入通道,此处阻塞直到另一端读取通道
msgChan <- true
}
func main() {
fmt.Println("Hello World")
// 创建一个通道
var msgChan chan bool = make(chan bool)
// 将通道做为参数传入并执行协程
go myFunc(msgChan)
// 从通道中读取数据,此处会阻塞直到另一端写入通道
<-msgChan
fmt.Println("Finished Execution")
}关闭通道
单向通道
最后更新于