打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
go语言产生素数
go语言产生素数

package main
// 生成2, 3, 4, ...  channel 'ch'中.
func Generate(ch chan<- int) {
    for i := 2; ; i++ {
        ch <- i // Send 'i' to channel 'ch'.
    }
}
// 从管道复制值 'in'  channel 'out',
// 移除可整除的数 'prime'.
func Filter(in <-chan int, out chan<- int, prime int) {
    for {
        i := <-in // 接收值 'in'.
        if i%prime != 0 {
            out <- i // 传入 'i'  'out'.
        }
    }
}
func main() {
    ch := make(chan int) // Create a newchannel.
    go Generate(ch)      // Launch Generate goroutine.
    for {
        prime := <-ch
        print(prime, "\n")
        ch1 := make(chan int)
        go Filter(ch, ch1, prime)
        ch = ch1
    }
}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
go语言channel的别样用法
go语言学习笔记 | Golang中文社区(Go语言构建) | Go语言中文网 | Go语言学习园地
Go 语言系列25:channel 信道
【Go】树形结构数据比较算法
channel的基本使用
编程语言生产者消费者模型及Golang简单实现
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服