Как добавить переменную в строковую переменную в Голанге
Я пытаюсь добавить значение в строку переменной в golang, без использования printf, потому что я использую инфраструктуру revel, и это для веб-среды вместо консоли, это так:
data := 14
response := `Variable string content`
поэтому я не могу получить переменные данные внутри переменной ответа, как это
response := `Variable string 14 content`
Любая идея?
4 ответа
Решение
Почему бы не использовать fmt.Sprintf
?
data := 14
response := fmt.Sprintf("Variable string %d content", data)
Принять ответ уже является лучшей практикой. Точно так же, как дать альтернативный вариант на основе ответа @Ari Pratomo:
package main
import (
"fmt"
"strconv"
)
func main() {
data := 14
response := "Variable string " + strconv.Itoa(data) + " content"
fmt.Println(response) //Output: Variable string 14 content
}
Он использует strconv.Itoa()
для преобразования целого числа в строку, чтобы его можно было объединить с остальными строками.
Вы можете использовать текст/шаблон:
package main
import (
"strings"
"text/template"
)
func format(s string, v interface{}) string {
t, b := new(template.Template), new(strings.Builder)
template.Must(t.Parse(s)).Execute(b, v)
return b.String()
}
func main() {
data := 14
response := format("Variable string {{.}} content", data)
println(response)
}
Если вы хотите сохранить строку в переменной, а не выводить ее на печать, попробуйте следующее:
data := 14
response := "Variable string" + data + "content"