09.4.3 通道作为函数参数传递
来看代码:
package main
import (
"fmt"
)
func main() {
willClose := make(chan int, 10)
willClose <- -1
willClose <- 0
willClose <- 2
<-willClose
<-willClose
<-willClose
close(willClose)
read := <-willClose
fmt.Println(read)
}
代码创建了一个int类型的通道willClose
,并且向其中写入三个值,然后再依次读出来。后面关闭这个通道后,再尝试从其中读数据,执行这个程序输出结果:
$ go run readClose.go
0
这个结果表明,如果我们尝试从关闭的通道中读取数据,其会返回基本类型的初始值。
Last updated
Was this helpful?