Dauer mit Ganzzahl in Go multiplizieren
Um eine Verzögerung in einer Go-Funktion zu erzeugen, haben Sie möglicherweise versucht, time.Sleep mit a zu nutzen Zufällige Dauer, generiert mit rand.Int31n. Wenn Sie jedoch auf einen Fehler stoßen, der besagt, dass die Typen nicht übereinstimmen, können Sie ihn wie folgt beheben:
In Ihrem Code haben Sie Folgendes geschrieben:
time.Sleep(rand.Int31n(1000) * time.Millisecond)
Diese Zeile versucht, an zu multiplizieren int32 (zurückgegeben von rand.Int31n) durch eine time.Duration (die time.Millisecond-Konstante). Diese Typen sind jedoch nicht kompatibel, was zu dem Fehler führt.
Um dies zu beheben, müssen Sie int32 in eine time.Duration umwandeln, bevor Sie es multiplizieren. Hier ist der korrigierte Code:
time.Sleep(time.Duration(rand.Int31n(1000)) * time.Millisecond)
Durch die Konvertierung von int32 in eine time.Duration stellen Sie sicher, dass die Multiplikation zwischen kompatiblen Typen durchgeführt wird, wodurch der Fehler behoben wird. Dadurch kann Ihre Funktion für eine zufällige Dauer von bis zu einer Sekunde pausieren.
Das obige ist der detaillierte Inhalt vonWie multipliziere ich eine Dauer korrekt mit einer ganzen Zahl in der Funktion „time.Sleep()' von Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!