Como posso usar o valor de uma variável para fazer referência a outra variável em um modelo Go?
modelo:
Hello, {{ index $.planet }}!
dados:
{
"planet": "neptune",
"planet_field": "planet"
}
Preciso usar planet_field
em vez de planet
no meu modelo e neptune
imprimi.
observação: não posso alterar minha estrutura de dados, o caso de uso é para modelos de alerta do Prometheus que só obtêm dados por rótulos.
Estou testando neste site: gotemplate.io (copie/cole o modelo/dados acima naquele site).
O valor da
planet
variável pode ser referenciadoplanet_field
usando aindex
função da seguinte maneira:A
index
função é uma função de modelo Go que recupera o valor de um mapa/fatia usando sua chave ou índice.index . .planet_field
procura o valor daplanet
chave no mapa de dados, que éneptune
.Veja como é:
👆🏻 Ir para a visualização do modelo
Para mais detalhes sobre a
index
função, consulte https://pkg.go.dev/text/template