下面这个代码发现一个问题,当打印超时后,'fmt.Println("haha")' 还是会出错,如何才能做到超时时结束GO 不在输出HAHA
func handleSendaa(){
//生成数据包
chErr:=make(chan error)
ticks:=time.Tick(time.Second*1)
go func(){
<-ticks
fmt.Println("haha")
chErr <- nil
close(chErr)
}()
select {
case <-chErr:
fmt.Println("end")
case <-time.After(time.Millisecond*500):
fmt.Println("TimeOut")
}
}
更多评论