Как динамически передавать значения в fmt.Sprintf в Golang
Как я могу передавать значения в fmt.Sprintf динамически из массива? К примеру у меня есть строка "Hello %s with %s" и у меня есть массив []string{"Tom", "John"}. Как передать этот массив в качестве параметров в fmt.Sprintf?
Ответы (1 шт):
Автор решения: Евгений Гаврилов
→ Ссылка
Это плохая идея, т. к. есть вероятность что slice у вас будет содержать от 0 и более элементов, а формат требует 2 элемента. Но а так можно []string превратить в []interface{} и уже передать в fmt.Sprintf
str := []interface{}{"Tom", "John"}
fmt.Println(fmt.Sprintf("Hello %s with %s", str...))