Go璇█涓殑瀹氭椂鍣ㄦ€庝箞浣跨敤
鍦℅o璇█涓紝鍙互浣跨敤time鍖呬腑鐨凾imer鏉ュ垱寤哄畾鏃跺櫒銆傚畾鏃跺櫒鍙互鐢ㄦ潵鍦ㄤ竴瀹氭椂闂村悗鎵ц鐗瑰畾鐨勬搷浣溿€備互涓嬫槸涓€涓畝鍗曠殑渚嬪瓙锛?/p>
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println("Start")
timer1 := time.NewTimer(2 * time.Second)
<-timer1.C
fmt.Println("Timer 1 expired")
timer2 := time.NewTimer(1 * time.Second)
go func() {
<-timer2.C
fmt.Println("Timer 2 expired")
}()
stop2 := timer2.Stop()
if stop2 {
fmt.Println("Timer 2 stopped")
}
}
鍦ㄤ笂闈㈢殑渚嬪瓙涓紝鎴戜滑棣栧厛鍒涘缓浜嗕袱涓畾鏃跺櫒timer1鍜宼imer2锛屽垎鍒湪2绉掑拰1绉掑悗瑙﹀彂銆傜劧鍚庨€氳繃<-timer1.C鍜?lt;-timer2.C鏉ョ瓑寰呭畾鏃跺櫒鐨勮Е鍙戙€傚彟澶栵紝鎴戜滑杩樺彲浠ラ€氳繃timer.Stop()鏉ヤ富鍔ㄥ仠姝㈠畾鏃跺櫒鐨勮Е鍙戙€?/p>