首頁 >後端開發 >Golang >如何在 Go 中正確地將持續時間乘以整數?

如何在 Go 中正確地將持續時間乘以整數?

Linda Hamilton
Linda Hamilton原創
2024-12-17 04:38:24543瀏覽

How to Correctly Multiply a Duration by an Integer in Go?

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn