Как динамически передавать значения в fmt.sprintf в golang?

Пользователь

от porter.kertzmann , в категории: Общие вопросы , 18 дней назад

Как динамически передавать значения в fmt.sprintf в golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

1 ответ

Пользователь

от laverna , 17 дней назад

@porter.kertzmann 

В Go, можно динамически передавать значения в функцию fmt.Sprintf, используя оператор "..." (троеточие) вместо списка аргументов.


Например, чтобы передать слайс значений values в строку формата, вы можете использовать следующую конструкцию:

1
2
3
4
5
6
7
8
values := []interface{}{
    "Мое имя",
    25,
    true,
}
result := fmt.Sprintf("Привет, меня зовут %s. Мне %d лет. Я %t.", values...)

fmt.Println(result)


В приведенном примере, значения "Мое имя", 25 и true передаются в функцию fmt.Sprintf с использованием троеточия .... В результате получаем строку, где значения вставлены соответствующим образом.


Обратите внимание, что троеточие ... означает, что значения из слайса будут переданы как отдельные аргументы функции fmt.Sprintf.