Maison > développement back-end > Golang > Pourquoi `time.Sleep(i * time.Millisecond)` ne parvient-il pas à se compiler dans Go ?

Pourquoi `time.Sleep(i * time.Millisecond)` ne parvient-il pas à se compiler dans Go ?

DDD
Libérer: 2024-11-18 21:21:02
original
880 Les gens l'ont consulté

Why Does `time.Sleep(i * time.Millisecond)` Fail to Compile in Go?

time.Millisecond Confusion

Dans Go, lorsque vous essayez d'utiliser la fonction time.Sleep() avec une valeur time.Duration, c'est Il est essentiel de s'assurer que les valeurs multipliées sont du même type. Ceci est illustré dans le code ci-dessous :

// Compiles successfully
time.Sleep(1000 * time.Millisecond)
Copier après la connexion

Ici, le 1000 est une constante non typée, qui est automatiquement convertie en temps.Durée avant d'effectuer la multiplication.

Cependant, lors de l'utilisation d'un variable int à la place :

var i = 1000
// Compilation error
time.Sleep(i * time.Millisecond)
Copier après la connexion

Le code ne parvient pas à se compiler avec l'erreur :

invalid operation: i * time.Millisecond (mismatched types int and time.Duration)
Copier après la connexion

C'est parce que la variable i est de type int tandis que time.Millisecond est de type time. Durée. Go exige que les opérandes des opérateurs binaires tels que * soient du même type, sauf si l'opération implique des décalages ou des constantes non typées.

Pour résoudre ce problème, vous pouvez convertir la variable int en time.Durée avant la multiplication :

var i = 1000
time.Sleep(time.Duration(i) * time.Millisecond)
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal