Problem: Multiplizieren der Dauer mit einer ganzen Zahl in Go
Beim Versuch, gleichzeitige Goroutinen durch Einführung einer zufälligen Verzögerung zu testen, gibt der Compiler den folgenden Fehler aus :
.\crawler.go:49: invalid operation: rand.Int31n(1000) * time.Millisecond (mismatched types int32 and time.Duration)
Lösung: Konvertieren zwischen Typen
Der Fehler tritt auf, weil int32 (der Rückgabetyp von rand.Int31n(1000)) nicht mit time.Duration (dem für time.Sleep() erforderlichen Typ) kompatibel ist. Um dieses Problem zu beheben, muss der ganzzahlige Wert vor der Multiplikation in eine Dauer umgewandelt werden. Dies kann mit dem folgenden Code erreicht werden:
time.Sleep(time.Duration(rand.Int31n(1000)) * time.Millisecond)
Das obige ist der detaillierte Inhalt vonWie multipliziere ich eine ganze Zahl mit „time.Duration' in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!