Подставить данные в строку в разных местах из массива

Есть строка

Статистика с %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])
→ Ссылка