Suppression des virgules dans les modèles de boucles de plage avec Go
Dans les boucles de modèles Go, une virgule apparaît souvent après chaque itération, séparant la sortie. Par exemple :
key:a value:b, key:c value:d,
Pour éliminer cette virgule, on recherche une solution qui n'utilise pas de fonctions personnalisées.
Réponse :
Comme de Go 1.11, il est possible de modifier directement les variables du modèle. Cela permet la suppression des virgules via le modèle suivant :
{{$first := true}} {{range $key, $value := $}} {{if $first}} {{$first = false}} {{else}} , {{end}} key:{{$key}} value:{{$value}} {{end}}
Dans ce modèle, une variable $first est initialisée à true. Pendant la boucle, il vérifie s'il s'agit de la première itération et, si c'est le cas, définit $first sur false pour éviter les virgules lors des itérations suivantes.
Exemple :
type Map map[string]string m := Map{ "a": "b", "c": "d", "e": "f", } const temp = `{{$first := true}}{{range $key, $value := $}}{{if $first}}{{$first = false}}{{else}}, {{end}}key:{{$key}} value:{{$value}}{{end}}` t := template.Must(template.New("example").Parse(temp)) t.Execute(os.Stdout, m)
Sortie :
key:a value:b, key:c value:d, key:e value:f
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!