¿Cómo multiplicar una duración (time.Duration) por un número entero en Go?
¡Hola a todos! Acabo de empezar a aprender Go y me encontré con un problema al trabajar con el paquete time. Necesito crear un timer que se active cada N segundos, donde N es un número entero ingresado por el usuario.
package main
import (
"fmt"
"time"
)
func main() {
var n int
fmt.Print("Ingrese el intervalo en segundos: ")
fmt.Scan(&n)
// Intento multiplicar la duración
interval := time.Second * n // ¡Error!
fmt.Println(interval)
}
El compilador muestra el error: invalid operation: time.Second * n (mismatched types time.Duration and int). Entiendo que time.Second es del tipo time.Duration y n es int, y no se pueden multiplicar directamente. Pero, ¿cómo crear correctamente un intervalo múltiplo de un segundo? En otros lenguajes, como Python, simplemente escribía datetime.timedelta(seconds=n) y funcionaba. ¿Me estoy perdiendo algo en Go?
Yo
No answers yet.
Inicia sesión para dejar una respuesta
Blogs
Los 10 mejores frameworks de C# para desarrollo web en 2025