Heim > Backend-Entwicklung > Golang > Warum kann ich „time.Millisecond' in Go nicht mit einem „int' multiplizieren?

Warum kann ich „time.Millisecond' in Go nicht mit einem „int' multiplizieren?

DDD
Freigeben: 2024-11-12 08:57:02
Original
652 Leute haben es durchsucht

Why Can't I Multiply `time.Millisecond` by an `int` in Go?

Verwechslung mit der Zeit. Millisekunde * int

In Go erfordern Operatoren Operanden identischer Typen, es sei denn, die Operation beinhaltet Verschiebungen oder nicht typisierte Konstanten. Wenn andernfalls ein Operand eine untypisierte Konstante ist (z. B. ein ganzzahliges Literal), wird er in den Typ des anderen Operanden konvertiert.

Betrachten Sie die folgenden Beispiele:

// Works because 1000 is an untyped constant and is converted to `time.Duration`.
time.Sleep(1000 * time.Millisecond)
Nach dem Login kopieren

Allerdings Der folgende Code schlägt fehl:

// Fails because `v` is an `int` and `time.Duration` are different types.
var v = 1000
time.Sleep(v * time.Millisecond)
Nach dem Login kopieren

Um dieses Problem zu beheben, konvertieren Sie die int-Variable v in time.Duration, bevor Sie sie in der Sleep-Funktion verwenden:

time.Sleep(time.Duration(v) * time.Millisecond)
Nach dem Login kopieren

Diese Konvertierung erstellt den Operanden Typen identisch sind, sodass der Vorgang erfolgreich sein kann.

Das obige ist der detaillierte Inhalt vonWarum kann ich „time.Millisecond' in Go nicht mit einem „int' multiplizieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage