Go语言生成素数的方法

 更新时间:2015年03月03日 10:50:12   作者:依山带水  
这篇文章主要介绍了Go语言生成素数的方法,实例分析了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 i := 0; i < 10; i++ {
        prime := <-ch
        print(prime, "\n")
        ch1 := make(chan int)
        go Filter(ch, ch1, prime)
        ch = ch1
    }
}

希望本文所述对大家的Go语言程序设计有所帮助。

相关文章

  • 谈谈Go语言的反射三定律

    谈谈Go语言的反射三定律

    本文中,我们将解释Go语言中反射的运作机制。每个编程语言的反射模型不大相同,很多语言索性就不支持反射(C、C++)。由于本文是介绍Go语言的,所以当我们谈到“反射”时,默认为是Go语言中的反射。
    2016-08-08
  • 三种Golang数组拷贝的实现方式与性能分析

    三种Golang数组拷贝的实现方式与性能分析

    在 Golang 中,有多种方式可以进行数组的拷贝,本文将对其中的三种方式进行性能分析,并比较它们的优缺点,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-06-06
  • go语言中time包的各种函数总结

    go语言中time包的各种函数总结

    时间和日期是我们编程中经常会用到的,下面这篇文章主要给大家介绍了关于go语言中time包的各种函数总结的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • 在go中进行单元测试的案例分享

    在go中进行单元测试的案例分享

    这篇文章主要介绍了使用Go进行单元测试的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • Golang跨平台GUI框架Fyne的使用教程详解

    Golang跨平台GUI框架Fyne的使用教程详解

    Go 官方没有提供标准的 GUI 框架,在 Go 实现的几个 GUI 库中,Fyne 算是最出色的,它有着简洁的API、支持跨平台能力,且高度可扩展,下面我们就来看看它的具体使用吧
    2024-03-03
  • Go创建一个包并使用(导入本地包和注意事项)

    Go创建一个包并使用(导入本地包和注意事项)

    有时候需要自己写一个包方便多次使用,但是在导入自己写的包时遇到了问题,本文主要介绍了Go创建一个包并使用(导入本地包和注意事项),感兴趣的可以了解一下
    2023-11-11
  • Golang中使用Date进行日期格式化(沿用Java风格)

    Golang中使用Date进行日期格式化(沿用Java风格)

    这篇文章主要介绍了Golang中使用Date进行日期格式化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Golang中urlencode与urldecode编码解码详解

    Golang中urlencode与urldecode编码解码详解

    这篇文章主要给大家介绍了关于Golang中urlencode与urldecode编码解码的相关资料,在Go语言中转码操作非常方便,可以使用内置的encoding包来快速完成转码操作,Go语言中的encoding包提供了许多常用的编码解码方式,需要的朋友可以参考下
    2023-09-09
  • Golang实现for循环运行超时后自动退出的方法

    Golang实现for循环运行超时后自动退出的方法

    for循环对大家来说应该都不陌生,对于golang来说更是必不可少,所以下面这篇文章就来给大家介绍了关于Golang如何实现for循环运行一段时间超时后自动退出的相关资料,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-11-11
  • gorm golang 并发连接数据库报错的解决方法

    gorm golang 并发连接数据库报错的解决方法

    今天小编就为大家分享一篇gorm golang 并发连接数据库报错的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07

最新评论