狐的传说
只是为了不留下未回答的问题(可能不是最好的,但可以完成练习)package mainimport ( "fmt" "sync")func fib(n int, p *int, wg1 *sync.WaitGroup) { // fmt.Println(n) a, b := -1, -1 var wg sync.WaitGroup if n > 1 { wg.Add(1) go fib(n-1, &a, &wg) wg.Add(1) go fib(n-2, &b, &wg) wg.Wait() *p = a + b } else { *p = n } wg1.Done() // fmt.Println(*p)}func main() { c := -1 var wg sync.WaitGroup wg.Add(1) go fib(30, &c, &wg) wg.Wait() fmt.Println(c)}