Avatar ·

Comment multiplier une duration par un entier en Go ?

Bonjour à tous ! J'ai récemment commencé à apprendre Go et j'ai rencontré un problème en travaillant avec des intervalles de temps. Je dois exécuter une action répétée avec un délai qui augmente plusieurs fois. Par exemple, je veux faire une pause de 1 seconde, puis de 2 secondes, puis de 3, et ainsi de suite. J'ai écrit ce code : ```go package main import ( "fmt" "time" ) func main() { baseDelay := 1 * time.Second multiplier := 3 totalDelay := baseDelay * multiplier // Erreur ! fmt.Println("Total delay:", totalDelay) } ``` Mais le compilateur renvoie une erreur : `invalid operation: baseDelay * multiplier (mismatched types time.Duration and int)`. Je comprends que les types sont différents, mais comment multiplier correctement une duration par un entier ? Dans d'autres langages (par exemple, Python), cela fonctionne directement. J'ai essayé de caster explicitement les types, mais rien n'a fonctionné. Pouvez-vous m'indiquer comment effectuer correctement la multiplication d'une duration par un int en Go ? Et pourquoi cette opération est-elle interdite ? Merci d'avance !