Go 中睡眠時間的分數
問題:
問題:// Success s := time.Hour / 73.0 fmt.Println("sleeping: ", s) time.Sleep(s) // Failure d := 73.0 s := time.Hour / d fmt.Println("sleeping: ", s) time.Sleep(s) // Error: invalid operation: time.Hour / d (mismatched types time.Duration and float64)
為什麼以下Go 會出現為什麼以下Go 會出現以下情況代碼成功休眠一小部分持續時間,而第二個代碼失敗?
答案:Success:
s := time.Hour / time.Duration(d)
Failure:
d 明確鍵入為 float64,無法除以 time.Duration。d := 73.5 s := time.Duration(float64(time.Hour) / d)
var d time.Duration = 73.0
以上是為什麼 Go 的 time.Sleep() 會根據常數類型以不同方式處理小數持續時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!