php版(常规做法)
<?php
$a = 0;
$b = 1;
for ($i = 0; $i <= 10; $i ++) {
$c = $a + $b;
$a = $b;
$b = $c;
echo $a . "\n";
}
?>
go版(闭包实现)
package main
import "fmt"
func fibonacci() func() int {
a ,b := 0 ,1;
return func() int {
a, b = b, a + b
return a
}
}
func main() {
f := fibonacci()
for i := 0; i <= 10; i ++ {
fmt.Println(f())
}
}