利用串联go channel实现,筛子算法,高并发
package main
import (
"fmt"
"runtime"
"runtime/debug"
)
// 返回生成自然数序列的管道: 2, 3, 4, ...
func GenerateNatural() chan int {
ch := make(chan int)
go func() {
for i := 2; ; i++ {
ch <- i
}
}()
return ch
}