Предотвратить вставку ‹нет значения› библиотекой текста/шаблонов golang

Go помещает <no value> в результате расширения шаблона, когда для определенного параметра шаблона нет значения.

Есть ли способ предотвратить это? Все, о чем я сейчас могу думать, это вставить пустую версию «AppVersion» в карту данных.

e.g.

package main

import (
    "text/template"
    "log"
    "bytes"
    "fmt"
)

func main() {
    data := make(map[string]string)
    //data["AppVersion"] = "Octane_3.0"

    text := "APP_VERSION={{.AppVersion}}"
    tmpl, err := template.New("").Parse(text)
    if err != nil {
        log.Fatal(err)
    }

    var b bytes.Buffer
    err = tmpl.Execute(&b, data)
    if err != nil {
        fmt.Println("template.Execute failed", err)
    }

    fmt.Println("Template text:", text)
    fmt.Println("Expanded:", b.String())
}

https://play.golang.org/p/OuLhcHOCsWJ


person hookenz    schedule 20.04.2018    source источник


Ответы (1)


Упс, нашел ответ, если кому интересно, я оставлю вопрос и отвечу.

tmpl, err := template.New("").Option("missingkey=zero").Parse(text)
person hookenz    schedule 20.04.2018