可以用runtime.Goexit()停止当前Go协程 ``` package main import ( "log" "runtime" "time" ) func main() { cb := make(chan bool, 1) go func() { timer2 := time.NewTimer(time.Second * 3) tick := time.Tick(time.Second * 5) select { case <-timer2.C: runtime.Goexit() //超时后退出该Go协程 case <-tick: //模拟超时任务 log.Println(222) //处理业务代码 cb <- true return } }() log.Println() timer := time.NewTimer(time.Second * 2) select { case <-timer.C: log.Println("time out") cb <- false case tmp := <-cb: log.Println(tmp) } time.Sleep(time.Second * 10) log.Println(123) } ```