golang动画等待计算菲波那契结果
Posted janeysj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang动画等待计算菲波那契结果相关的知识,希望对你有一定的参考价值。
一个小玩意,main goroutine将计算菲波那契数列的第45个元素值。由于计算函数使用低效的递归,所以会运行相当长时间,在此期间我们想让用户看到一个可见的标识来表明程序依然在正常运行,所以来做一个动画的小图标:
package main
import (
"fmt"
"time"
)
func main() {
go spinner(100 * time.Millisecond)
const n = 45
fibN := fib(n) // slow
fmt.Printf("
Fibonacci(%d) = %d
", n, fibN)
}
func spinner(delay time.Duration) {
for {
for _, r := range `-|/` {
fmt.Printf("
%c Caculating...", r)
time.Sleep(delay)
}
}
}
func fib(x int) int {
if x < 2 {
return x
}
return fib(x-1) + fib(x-2)
}
以上是关于golang动画等待计算菲波那契结果的主要内容,如果未能解决你的问题,请参考以下文章