Sobre esta ferramenta
Cole qualquer documento YAML e obtenha uma struct Go idiomática, com nomes de campos exportados, tipos inferidos e tags de struct yaml — pronta para yaml.Unmarshal.
Use-a para iniciar carregadores de configuração ou modelos de API sem escrever o código repetitivo à mão.
Os nomes de campos são exportados (com maiúscula, por exemplo Name, Port) e os tipos inferidos a partir dos valores: int, string, bool, float64.
Perguntas frequentes
Como os mapeamentos aninhados são tratados?
Cada mapeamento aninhado se torna seu próprio tipo de struct nomeado, referenciado a partir do pai.
E quanto às listas?
Listas de escalares se tornam slices tipadas pelo seu primeiro elemento — []string, []int. Uma lista de mapeamentos gera uma struct de elemento nomeada (mesclando as chaves encontradas nos itens), referenciada como []Item.
Quais tags de struct são emitidas?
Cada campo exportado carrega uma tag yaml (yaml:"field"), pronta para yaml.Unmarshal — a saída sempre vem com tags yaml, sem opção de alternância. Se você precisar de structs com tags json, use o conversor JSON to Go.