Ссылка на значения карты в Go текст / шаблон - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть строка Golang:

 var expressions: = `
{ "text1": "lorem ipsum {{value1}}/12" 
   "text1": "lorem ipsum {{value2}}/24" 
}
`

и карта:

  constants:= map[string]int{
   "value1": 3711,
   "value2":   2138,  
}

Как заменить значения в выражениях соответствующими значениями на карте?

1 Ответ

1 голос
/ 01 апреля 2020

Чтобы использовать значение map, необходимо указать имя key этого поля, которому предшествует точка (.), например .keyName.

package main

import (
    "os"
    "text/template"
)

func main() {
    var err error
    constants := map[string]int{
        "value1": 3711,
        "value2": 2138,
    }

    tmpl := `{ 
    "text1": "lorem ipsum {{ .value1 }}/12" 
    "text2": "lorem ipsum {{ .value2 }}/24" 
}`

    t := template.New("hello")
    tt, err := t.Parse(tmpl)
    if err != nil {
        panic(err)
    }

    if err = tt.Execute(os.Stdout, &constants); err != nil {
        panic(err)
    }
}

Вывод:

{ 
    "text1": "lorem ipsum 3711/12" 
    "text2": "lorem ipsum 2138/24" 
}

Go Детская площадка

Для более сложных вариантов использования вы можете взглянуть на это код .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...