Heim > Backend-Entwicklung > Golang > Wie multipliziere ich eine Dauer korrekt mit einer ganzen Zahl in Go?

Wie multipliziere ich eine Dauer korrekt mit einer ganzen Zahl in Go?

Linda Hamilton
Freigeben: 2024-12-17 04:38:24
Original
539 Leute haben es durchsucht

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

Dauer mit Ganzzahl in Go multiplizieren

Die Frage stellt sich, wenn versucht wird, eine zufällige Verzögerung in eine Funktion zum Testen gleichzeitiger Goroutinen einzuführen. Durch die Einführung der folgenden Zeile wird erwartet, dass die Funktion bis zu einer Sekunde benötigt, um zurückzukehren:

time.Sleep(rand.Int31n(1000) * time.Millisecond)
Nach dem Login kopieren

Dieser Ansatz löst jedoch einen Fehler aus, der auf eine Nichtübereinstimmung zwischen den Typen int32 und time.Duration hinweist. Der Schlüssel zur Lösung dieses Problems liegt in der Konvertierung von int32 in eine time.Duration:

time.Sleep(time.Duration(rand.Int31n(1000)) * time.Millisecond)
Nach dem Login kopieren

Durch Konvertieren des aus rand.Int31n(1000) erhaltenen int32-Werts in eine time.Duration können die beiden Typen sein multipliziert, sodass die Funktion für ein zufälliges Intervall von bis zu einer Sekunde in den Ruhezustand versetzt werden kann.

Das obige ist der detaillierte Inhalt vonWie multipliziere ich eine Dauer korrekt mit einer ganzen Zahl in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage