10.3.2 方式2
package main
import (
"fmt"
"os"
"strconv"
"sync"
"time"
)func timeout(w *sync.WaitGroup, t time.Duration) bool {
temp := make(chan int)
go func() {
time.Sleep(5 * time.Second)
defer close(temp)
w.Wait()
}()
select {
case <-temp:
return false
case <-time.After(t):
return true
}
}Last updated