You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
306 B
20 lines
306 B
4 months ago
|
package main
|
||
|
|
||
|
import "fmt"
|
||
|
|
||
|
// fib returns a function that returns
|
||
|
// successive Fibonacci numbers.
|
||
|
func fib() func() int {
|
||
|
a, b := 0, 1
|
||
|
return func() int {
|
||
|
a, b = b, a+b
|
||
|
return a
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func main() {
|
||
|
f := fib()
|
||
|
// Function calls are evaluated left-to-right.
|
||
|
fmt.Println(f(), f(), f(), f(), f())
|
||
|
}
|