Как заархивировать два массива - PullRequest
1 голос
/ 09 июля 2020

Я начинаю с двух массивов в структуре, которую передаю шаблонизатору. Первый массив - это список имен, второй массив - список фамилий.

Как мне получить Golang -шаблон для печати списка полных имен?

Что у меня есть:

package main
import (
    "os"
    "text/template"
)
func main() {
    type Monty struct {
        FirstName [5]string
        LastName  [5]string
    }
    python := Monty{
        FirstName: [5]string{"John", "Eric", "Terry", "Terry", "Michael"},
        LastName:  [5]string{"Cleese", "Idle", "Gilliam", "Jones", "Palin"},
    }
    t := template.Must(template.New("t3").Parse(`
    {{ range .FirstName }}
      {{.}}
    {{ end }}
`))
    t.Execute(os.Stdout, python)
}

Ожидаемый результат

John Cleese
Eric Idle
Terry Gilliam
Terry Jones
Michael Palin

Я пробовал использовать «индекс», «конвейеры», «диапазон» и многое другое.

1 Ответ

1 голос
/ 09 июля 2020

Если вы уверены, что два массива имеют одинаковую длину, вы можете сделать это:

 {{ range $index, $fname := .FirstName }}
      {{$fname}} {{index $.LastName $index}}
 {{ end }}
...