GO chan 编程
发布时间:2022-01-18 编辑:jiaochengji.com
教程集为您提供GO chan 编程等资源,欢迎您收藏本站,我们将为您提供最新的GO chan 编程资源
<pre><code class="lang-go hljs">package main
import (
"fmt"
"math/rand"
"sync"
)
func main() {
numberChan1 := make(chan int64, 3)
numberChan2 := make(chan int64, 3)
numberChan3 := make(chan int64, 3)
var waitGroup sync.WaitGroup
waitGroup.Add(3)
go func() {
for n := range numberChan1 {
if n%2 == 0 {
numberChan2 <- n
} else {
fmt.Printf("Filter %d. [filter 2]\n", n)
}
}
close(numberChan2)
waitGroup.Done()
}()
go func() {
for n := range numberChan2 {
if n%5 == 0 {
numberChan3 <- n
} else {
fmt.Printf("Filter %d. [filter 5]\n", n)
}
}
close(numberChan3)
waitGroup.Done()
}()
go func() {
for n := range numberChan3 {
fmt.Println("n = ", n)
}
waitGroup.Done()
}()
for i := 0; i < 100; i {
numberChan1 <- rand.Int63n(100)
}
close(numberChan1)
waitGroup.Wait()
}
</code></code></pre>
到此这篇关于“GO chan 编程”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!
到此这篇关于“GO chan 编程”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!
您可能感兴趣的文章:
GO chan 编程
go语言并发编程
Go并发编程——channel
Golang channel 使用指南
Golang并发以及通道的使用
golang 面试题(三)管道chan
22Go常见的并发模式和并发模型
golang学习笔记(二)—— 深入golang中的协程
channel实战应用,这篇就够了!
Golang号称高并发,但高并发时性能不高解决办法
上一篇:【Golang】反射机制
下一篇:golang 异常管理机制
[关闭]