Записывает значение в одну строку - PullRequest
0 голосов
/ 25 июня 2018

У меня есть следующий код, который работает для генерации имен Один за другим:

{{- range .File.apps}}

{{ .Name}}

{{- end}}

Это печатает

app1

app2

app3 

Проблема в том, что мне нужно получить его В той же строке , а не один за другим

app1 app2 app3

Когда я пытаюсь выполнить следующие действия, удалите первую запись и установите только последнее значение. то есть я получу только app3

{{- range .File.apps}} {{ .Name}} {{- end}}

Как я могу это сделать?

1 Ответ

0 голосов
/ 26 июня 2018

Символ - запрещает новые строки, поэтому добавление - перед закрытием }} должно помочь.

https://play.golang.org/p/a-P-yPJtm9W

package main

import "fmt"
import "os"
import "text/template"

const temp = `
{{- range .Apps -}}
{{- .Name -}}
{{- end -}}
`

type file struct {
    Apps []app
}

type app struct {
    Name string
}

func main() {
    data := file{
        Apps: []app{
            app{"foo"}, 
            app{"bar"},
        },
    }
    t := template.Must(template.New("foo").Parse(temp))

    err := t.Execute(os.Stdout, data)
    if err != nil {
        fmt.Println(err.Error())
    }
}
...