打印斐波那契数列

347 阅读1分钟

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())
	}
}