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

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

от marshall.cummings , в категории: Golang , 7 месяцев назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

от akeem , 7 месяцев назад

@marshall.cummings 

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


Аргументы переменной длины представляют собой способ передачи переменного количества аргументов функции. В Go это достигается путем использования оператора ... перед последним параметром функции.


Вот пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
package main

import "fmt"

func main() {
    name := "John"
    age := 35
    message := fmt.Sprintf("My name is %s and I'm %d years old.", name, age)
    fmt.Println(message)
}


В этом примере мы создаем строковую переменную message, используя функцию fmt.Sprintf(), чтобы вставить значения переменных name и age в строку.


Вы также можете использовать аргументы переменной длины для передачи среза значений в fmt.Sprintf(). Вот пример:

1
2
3
4
5
6
7
8
9
package main

import "fmt"

func main() {
    numbers := []int{1, 2, 3, 4, 5}
    message := fmt.Sprintf("Numbers: %v", numbers)
    fmt.Println(message)
}


В этом примере мы передаем срез numbers в fmt.Sprintf() с использованием аргумента переменной длины %v, который будет заменен на строковое представление среза numbers.