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中文網其他相關文章!