Como definir valores padrão para campos de structs em Go?
Olá a todos! Sou novo em Go e me deparei com um problema: em Go não há construtores e nenhum mecanismo embutido para especificar valores padrão para campos de structs, como, por exemplo, em Python ou PHP. Suponha que eu tenha uma struct para configuração de aplicação:
```go
type Config struct {
Port int
Timeout int
Debug bool
}
```
Eu quero que, por padrão, `Port` seja 8080, `Timeout` seja 30 segundos e `Debug` seja `false`. Mas quando crio uma struct `cfg := Config{}`, todos os campos recebem valores zero (0, 0, false). Tenho que especificar explicitamente todos os campos toda vez: `cfg := Config{Port: 8080, Timeout: 30}`. Isso é inconveniente, especialmente se a struct tiver muitos campos e eu quiser que alguns deles tenham valores padrão razoáveis.
Tentei usar tags de struct, mas elas parecem não afetar a inicialização. Existe alguma forma de definir valores padrão diretamente na definição da struct? Ou preciso escrever alguma função factory? Mas então, para cada struct...