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