为了测试并发 goroutines,我在一个函数中添加了一行,使它需要一个随机的时间来返回(最多一秒)
time.Sleep(rand.Int31n(1000) * time.Millisecond)
但是,当我编译时,出现此错误
.\crawler.go:49: 无效操作:rand.Int31n(1000) * time.Millisecond(int32 和 time.Duration 类型不匹配)
有任何想法吗?如何乘以持续时间?
int32并且time.Duration是不同的类型。您需要将 转换int32为 a time.Duration:
int32
time.Duration
time.Sleep(time.Duration(rand.Int31n(1000)) * time.Millisecond)