Подставить данные в строку в разных местах из массива
Есть строка
Статистика с %s по %s
Как ввести данные из массива в эти 2 места, если есть всего 2 элемента массива с помощью fmt.printf():
params := ["20 февраля 2021", "21 февраля 2021"]
fmt.Printf("Статистика с %s по %s", params...)
Ответы (2 шт):
Автор решения: Senior Pomidor
→ Ссылка
fmt.Printf принимает слайс интерфейсов. надо массив строк привести к этому типу.
func main() {
params := []string{"20 февраля 2021", "21 февраля 2021"}
fmt.Printf("Статистика с %s по %s", intfceSlice(params)...)
}
func intfceSlice(s []string) []interface{} {
res := make([]interface{}, 0, len(s))
for _, i := range s {
res = append(res, i)
}
return res
}
Ответ
Статистика с 20 февраля 2021 по 21 февраля 2021
Автор решения: Mark
→ Ссылка
Если вы уверены в том, что params содержит минимум два элемента, то достаточно подставить эти элементы:
params := []string{"20 февраля 2021", "21 февраля 2021"}
fmt.Printf("Статистика с %s по %s", params[0], params[1])