Jeśli lista nie jest pusta, to fragment kodu Pythona wyświetla średnik po ostatnim elemencie. Możesz osiągnąć ten sam wynik w Go, otaczając zakres za pomocą, jeśli chcesz sprawdzić, czy jest co najmniej jeden element w plasterku i drukowanie; poza pętlą.
{{if $hosts}}{{range $host := $hosts}}
{{$host}}
{{ end }} ;{{end}}
Ten fragment działa, ponieważ dodajesz do końca ostatniego elementu. Bardziej ogólne rozwiązanie wymaga niestandardowej funkcji szablonu. Oto przykład funkcja:
func last(v interface{}, i int) (bool, error) {
rv := reflect.ValueOf(v)
if rv.Kind() != reflect.Slice {
return false, errors.New("not a slice")
}
return rv.Len()-1 == i, nil
}
a oto jak wykorzystać go w szablonie:
{{range $i, $host := $hosts }}
{{$host}}{{if last $hosts $i}} ;{{end}}
{{ end }}
I opublikował a working example of the custom function na plac zabaw.