¿Cómo establecer valores predeterminados para campos de structs en Go?
¡Hola a todos! Soy nuevo en Go y me encontré con un problema: en Go no hay constructores ni un mecanismo incorporado para especificar valores predeterminados para campos de structs, como en Python o PHP. Supongamos que tengo un struct para la configuración de una aplicación:
```go
type Config struct {
Port int
Timeout int
Debug bool
}
```
Quiero que por defecto `Port` sea 8080, `Timeout` sea 30 segundos y `Debug` sea `false`. Pero cuando creo un struct `cfg := Config{}`, todos los campos obtienen valores cero (0, 0, false). Tengo que especificar explícitamente todos los campos cada vez: `cfg := Config{Port: 8080, Timeout: 30}`. Esto es incómodo, especialmente si el struct tiene muchos campos y quiero que algunos tengan valores predeterminados razonables.
He intentado usar tags de struct, pero parece que no afectan la inicialización. ¿Hay alguna forma de establecer valores predeterminados directamente en la definición del struct? ¿O necesito escribir una función factory? Pero entonces resulta que para cada struct...
No answers yet.
Inicia sesión para dejar una respuesta