Go語言生成素數(shù)的方法
更新時間:2015年03月03日 10:50:12 作者:依山帶水
這篇文章主要介紹了Go語言生成素數(shù)的方法,實例分析了Go語言生成素數(shù)的技巧,需要的朋友可以參考下
本文實例講述了Go語言生成素數(shù)的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:
復(fù)制代碼 代碼如下:
package main
// 生成2, 3, 4, ... 到 channel 'ch'中.
func Generate(ch chan<- int) {
for i := 2; ; i++ {
ch <- i // Send 'i' to channel 'ch'.
}
}
// 從管道復(fù)制值 'in' 到 channel 'out',
// 移除可整除的數(shù) '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
}
}
// 生成2, 3, 4, ... 到 channel 'ch'中.
func Generate(ch chan<- int) {
for i := 2; ; i++ {
ch <- i // Send 'i' to channel 'ch'.
}
}
// 從管道復(fù)制值 'in' 到 channel 'out',
// 移除可整除的數(shù) '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語言程序設(shè)計有所幫助。
相關(guān)文章
Go語言json編碼駝峰轉(zhuǎn)下劃線、下劃線轉(zhuǎn)駝峰的實現(xiàn)
這篇文章主要介紹了Go語言json編碼駝峰轉(zhuǎn)下劃線、下劃線轉(zhuǎn)駝峰的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
golang實現(xiàn)redis的延時消息隊列功能示例
這篇文章主要介紹了golang實現(xiàn)redis的延時消息隊列功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Golang 如何實現(xiàn)函數(shù)的任意類型傳參
這篇文章主要介紹了Golang 實現(xiàn)函數(shù)的任意類型傳參操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04

