concurrency/generator: refactor generator pattern

This commit is contained in:
mehdy
2016-09-07 11:18:35 +04:30
committed by Tamer Tas
parent d05638adac
commit 89df9f0955
2 changed files with 27 additions and 2 deletions

24
concurrency/generator.go Normal file
View File

@@ -0,0 +1,24 @@
package generator
func Range(start int, end int, step int) chan int {
c := make(chan int)
go func() {
result := start
for result < end {
c <- result
result = result + step
}
close(c)
}()
return c
}
func main() {
// print the numbers from 3 through 47 with a step size of 2
for i := range Range(3, 47, 2) {
println(i)
}
}