Presentation is loading. Please wait.

Presentation is loading. Please wait.

New Go Programming Language by Google

Similar presentations


Presentation on theme: "New Go Programming Language by Google"— Presentation transcript:

1 New Go Programming Language by Google

2 Concurrent Programming 2

3 Working Principle It works by taking a stream of all the natural numbers and introducing a sequence of filters  one for each prime to winnow the multiples of that prime  At each step we have a sequence of filters of the primes so far, and the next number to pop out is the next prime  which triggers the creation of the next filter in the chain 3

4 Generate Function // 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'. } 4

5 Filter Function 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'. } 5

6 Sieve Program func main() { 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 } } 6


Download ppt "New Go Programming Language by Google"

Similar presentations


Ads by Google