¿Cómo puedo buscar el valor de un mapa mediante una variable clave sin la iteración?

Así que uno puede buscar un constante tecla variable de mapa $x con $x.key1, pero es posible hacer amap.$key?

InformationsquelleAutor Kyle Brandt | 2014-10-01

1 Comentario

  1. 85

    Utilizar el index función:

    {{index .Amap "key1"}}

    De http://golang.org/pkg/text/template/:

    index
        Returns the result of indexing its first argument by the
        following arguments. Thus "index x 1 2 3" is, in Go syntax,
        x[1][2][3]. Each indexed item must be a map, slice, or array.
    • Esto funciona, yo había probado pero lo estaba usando con una rodaja cuando pensaba que yo lo estaba usando con un mapa.
    • Escribí la respuesta entonces tuve que revisar para asegurarse.
    • Hace este trabajo en el interior de una tubería? Puede dar un ejemplo de cómo utilizar esto como parte de {{template "name" how_to_index_here?}}
    • Sí, envolver la tubería en paréntesis: {{template "name" (index .Amap "key1")}} cabe señalar que la sintaxis más sencilla de acceder a mapa de teclas directamente desde el dot también funciona: {{template "name" .Amap.key1}}
    • woah, bonito, gracias!
    • Es también posible si el valor resultante es una estructura para seleccionar un campo? {{index .Amap "key1"}}.Myfield
    • después de buscar exactamente que responder todo el día y nada, aquí está lo que me di cuenta: {{ with (index .Amap "key1") }}{{ .Myfield }}{{ end }}
    • eso es una gran solución. Funciona bien con las teclas que son más que alfanuméricos, por ejemplo, {{ with (index .Amap "key-with-hyphens") }} {{ .Myfield }} {{ end }}

Dejar respuesta

Please enter your comment!
Please enter your name here