Go 中将持续时间乘以整数
当尝试在函数中引入随机延迟来测试并发 goroutine 时,就会出现问题。通过引入以下行,该函数预计最多需要一秒钟才能返回:
time.Sleep(rand.Int31n(1000) * time.Millisecond)
但是,这种方法会触发错误,指示 int32 和 time.Duration 类型之间不匹配。解决这个问题的关键在于将int32转换为time.Duration:
time.Sleep(time.Duration(rand.Int31n(1000)) * time.Millisecond)
通过将rand.Int31n(1000)得到的int32值转换为time.Duration,两种类型可以是相乘,允许函数休眠最多一秒的随机间隔。
以上是如何在 Go 中正确地将持续时间乘以整数?的详细内容。更多信息请关注PHP中文网其他相关文章!