Comment multiplier une durée (time.Duration) par un entier en Go ?
Bonjour à tous ! Je viens de commencer à apprendre Go et j'ai rencontré un problème avec le package time. J'ai besoin de créer un minuteur qui se déclenche toutes les N secondes, où N est saisi par l'utilisateur comme un entier.
package main
import (
"fmt"
"time"
)
func main() {
var n int
fmt.Print("Entrez l'intervalle en secondes : ")
fmt.Scan(&n)
// J'essaie de multiplier la durée
interval := time.Second * n // Erreur !
fmt.Println(interval)
}
Le compilateur donne l'erreur : invalid operation: time.Second * n (mismatched types time.Duration and int). Je comprends que time.Second est de type time.Duration et n est de type int, et on ne peut pas simplement les multiplier. Mais comment créer correctement un intervalle multiple d'une seconde ? Dans d'autres langages, comme Python, j'écrivais simplement datetime.timedelta(seconds=n) et tout fonctionnait. Est-ce que j'ai raté quelque chose en Go ?
Je
No answers yet.
Connectez-vous pour laisser une réponse
Blogs
Test en Kotlin : Unit, Integration, E2E — guide complet