Golang : Fibonacci number generator examples
In mathematics, the Fibonacci numbers or Fibonacci sequence are the numbers in the following integer sequence.
1,1,2,3,5,8,13,21,34,55,89,144...
Here are some Fibonacci numbers generators examples.
Example 1 :
package main
import "fmt"
func main() {
for i, j := 0, 1; j < 100; i, j = i+j,i {
fmt.Println(i)
}
}
Example 2:
package main
import (
"fmt"
)
func fibonacci() chan int {
in := make(chan int, 2)
in <- 0
in <- 1
out := make(chan int)
go func(in, out chan int) {
for {
a := <-in
in <- <-in + a
in <- a
out <- a
}
}(in, out)
return out
}
func main() {
x := fibonacci()
for i := 0; i < 10; i++ {
fmt.Println(<-x)
}
}
References :
http://en.wikipedia.org/wiki/Fibonacci_number
https://github.com/Sinute/go-daily/blob/master/chan-fibonacci.go
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+7.1k Golang : Add build version and other information in executables
+5.6k Golang : Combine slices of complex numbers and operation example
+11.9k Golang : Qt progress dialog example
+6.6k Golang : Detect sample rate, channels or latency with PortAudio
+12.7k Golang : Fix image: unknown format error
+15.3k Golang : Convert slice to array
+11.8k Golang : Skip blank/empty lines in CSV file and trim whitespaces example
+5.4k Golang : Test input string for unicode example
+14.1k Golang : How do I get the local IP (non-loopback) address ?
+7.8k nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
+9k Golang : Compare files modify date example