¿Cómo multiplicar una duration por un número entero en Go?
¡Hola a todos! Recientemente empecé a aprender Go y me encontré con un problema al trabajar con intervalos de tiempo. Necesito ejecutar una acción repetitiva con un retraso que se incrementa varias veces. Por ejemplo, quiero hacer una pausa de 1 segundo, luego de 2 segundos, luego de 3 y así sucesivamente.
Escribí este código:
```go
package main
import (
"fmt"
"time"
)
func main() {
baseDelay := 1 * time.Second
multiplier := 3
totalDelay := baseDelay * multiplier // ¡Error!
fmt.Println("Total delay:", totalDelay)
}
```
Pero el compilador muestra el error: `invalid operation: baseDelay * multiplier (mismatched types time.Duration and int)`. Entiendo que los tipos son diferentes, pero ¿cómo multiplicar correctamente una duration por un número entero? En otros lenguajes (por ejemplo, Python) esto funciona directamente. Intenté hacer casting explícito de tipos, pero no funcionó.
Indíquenme cómo realizar correctamente la multiplicación de una duration por un int en Go. ¿Y por qué está prohibida esta operación? ¡Gracias de antemano!
No answers yet.
Inicia sesión para dejar una respuesta