Go Example--关闭通道
Posted promenader
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go Example--关闭通道相关的知识,希望对你有一定的参考价值。
package main
import (
"fmt"
)
func main() {
jobs := make(chan int, 5)
done := make(chan bool)
go func() {
for {
//读取通道方式, val,ok := <-chan 通道关闭后,ok是false
j, more := <-jobs
if more {
fmt.Println("received job", j)
} else {
fmt.Println("received all jobs")
done <- true
return
}
}
}()
for j := 1; j <= 3; j++ {
jobs <- j
fmt.Println("sent job", j)
}
//关闭通道
close(jobs)
fmt.Println("sent all jobs")
<-done
}
以上是关于Go Example--关闭通道的主要内容,如果未能解决你的问题,请参考以下文章