问题:在 Go 中将持续时间乘以整数
当尝试通过引入随机延迟来测试并发 goroutine 时,编译器会抛出以下错误:
.\crawler.go:49: invalid operation: rand.Int31n(1000) * time.Millisecond (mismatched types int32 and time.Duration)
解决方案:之间转换类型
出现此错误是因为 int32(rand.Int31n(1000) 的返回类型)与 time.Duration(time.Sleep() 所需的类型)不兼容。要解决此问题,必须在相乘之前将整数值转换为持续时间。这可以使用以下代码来实现:
time.Sleep(time.Duration(rand.Int31n(1000)) * time.Millisecond)
以上是如何在 Go 中将整数乘以'time.Duration”?的详细内容。更多信息请关注PHP中文网其他相关文章!