LINUX.ORG.RU

Ответ на: комментарий от menangen

Спасибо, но мне не тип нужно определить. У меня есть конструкция по типу:

<label for="service_url" class="col-sm-4 col-form-label">
    {{if (eq .Type "tcp") or (eq .Type "udp")}}Host/IP Address{{else}}Application Endpoint (URL){{end}}
</label>
Которая возвращает ошибку:
executing "form_service" at <(eq .Type "tcp") or (eq .Type "udp")>: can't give argument to non-function eq .Type "tcp"

Если убрать проверку «or» и оставить только:

{{if eq .Type "tcp"}}...
то все работает, только нарушается логика программы. Вот я и пытаюсь понять, почему такая конструкция не хочет работать.

flappyright ()

речь про html-шаблоны чтоли? Ну почитал бы про их синтаксис, элементарно же

t, err := template.New("foo").Parse(`
<label for="service_url" class="col-sm-4 col-form-label">
  {{if or (eq .Type "tcp") (eq .Type "udp")}}
    Host/IP Address
  {{else}}
    Application Endpoint (URL)
  {{end}}
</label>
  `)
Lrrr ()