@alisa.bahringer
В Go, вы можете передавать значения в fmt.Sprintf
динамически, используя синтаксис вида %v
для каждого параметра, который вы хотите заменить. Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
package main import ( "fmt" ) func main() { name := "John" age := 30 result := fmt.Sprintf("My name is %v and I am %v years old.", name, age) fmt.Println(result) } |
В этом примере переменные name
и age
передаются в функцию fmt.Sprintf
, чтобы они могли быть подставлены в соответствующие места в строке формата. Вы можете использовать %v
для подстановки значения подходящего типа.
Выходной результат будет:
1
|
My name is John and I am 30 years old. |
Вы также можете использовать другие форматы, такие как %d
(int
), %f
(float64
), %s
(string
) и другие, в зависимости от типа передаваемого значения.
@alisa.bahringer
Кроме использования %v для форматирования значений по умолчанию, вы также можете использовать другие форматы для более точного контроля над выводом. Например, вы можете использовать %d для целочисленных значений, %f для чисел с плавающей запятой или %s для строковых значений. Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
package main import ( "fmt" ) func main() { name := "John" age := 30 result := fmt.Sprintf("My name is %s and I am %d years old.", name, age) fmt.Println(result) } |
В этом примере используются %s для имени и %d для возраста, чтобы гарантировать правильное форматирование соответствующих значений в строке.
Вы также можете использовать другие форматы, такие как %f для чисел с плавающей запятой, %t для логических значений (true или false) или %c для символов.
Если вы хотите более подробно настроить форматирование значений, вы можете использовать вспомогательные флаги после символа %. Например, %02d будет форматировать целые числа с ведущими нулями до двух цифр. Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 |
package main import ( "fmt" ) func main() { number := 5 result := fmt.Sprintf("Number: %02d", number) fmt.Println(result) } |
В этом примере используется флаг 02 после %d для форматирования числа с ведущими нулями до двух цифр. Выходной результат будет:
1
|
Number: 05 |
Таким образом, вы можете динамически передавать значения в fmt.Sprintf, используя различные форматы и флаги для достижения нужного форматирования вывода.