go中的事件對象time.Duration


const (
	Nanosecond  Duration = 1
	Microsecond          = 1000 * Nanosecond
	Millisecond          = 1000 * Microsecond
	Second               = 1000 * Millisecond
	Minute               = 60 * Second
	Hour                 = 60 * Minute
)

go的time對象是以納秒來開始的,
1秒=1000毫秒(ms) 1秒=1000000 微秒(μs) 1秒=1000000000 納秒(ns)
使用go中的time對象就可以直接指定
1s >>> 1 *time.Second
1ms >> 1 * time.Millisecond
以此類推,

但再函數中使用其他變量代替1進行事件對象指定的時候,編譯會出錯,編譯不過去,提示time.Duration對象不適用


time.Sleep(1000 * time.Millisecond)
這樣寫是沒有問題的

var i = 1000
time.Sleep(i * time.Millisecond)
用i來代替就報錯

解決:

var i = 1000
time.Sleep(time.Duration(i) * time.Millisecond)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM