24 lines
		
	
	
		
			308 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			308 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package main
 | 
						|
 | 
						|
import (
 | 
						|
	"fmt"
 | 
						|
)
 | 
						|
 | 
						|
func fibonacci(n int, c chan int) {
 | 
						|
	x, y := 0, 1
 | 
						|
	for i := 0; i < n; i++ {
 | 
						|
		c <- x
 | 
						|
		x, y = y, x+y
 | 
						|
	}
 | 
						|
	close(c)
 | 
						|
}
 | 
						|
 | 
						|
func main() {
 | 
						|
	c := make(chan int, 10)
 | 
						|
	fmt.Printf("The channel's capacity is %d", cap(c))
 | 
						|
	go fibonacci(cap(c), c)
 | 
						|
	for i := range c {
 | 
						|
		fmt.Println(i)
 | 
						|
	}
 | 
						|
}
 |