diff options
Diffstat (limited to 'doc/progs/sieve.go')
-rw-r--r-- | doc/progs/sieve.go | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/doc/progs/sieve.go b/doc/progs/sieve.go index 601c2c410..cd011d293 100644 --- a/doc/progs/sieve.go +++ b/doc/progs/sieve.go @@ -9,7 +9,7 @@ import "fmt" // Send the sequence 2, 3, 4, ... to channel 'ch'. func generate(ch chan int) { for i := 2; ; i++ { - ch <- i; // Send 'i' to channel 'ch'. + ch <- i // Send 'i' to channel 'ch'. } } @@ -17,22 +17,22 @@ func generate(ch chan int) { // removing those divisible by 'prime'. func filter(in, out chan int, prime int) { for { - i := <-in; // Receive value of new variable 'i' from 'in'. - if i%prime != 0 { - out <- i; // Send 'i' to channel 'out'. + i := <-in; // Receive value of new variable 'i' from 'in'. + if i % prime != 0 { + out <- i // Send 'i' to channel 'out'. } } } // The prime sieve: Daisy-chain filter processes together. func main() { - ch := make(chan int); // Create a new channel. - go generate(ch); // Start generate() as a goroutine. + ch := make(chan int); // Create a new channel. + go generate(ch); // Start generate() as a goroutine. for { prime := <-ch; fmt.Println(prime); ch1 := make(chan int); go filter(ch, ch1, prime); - ch = ch1; + ch = ch1 } } |