Приемчики форматирования в Go
Несколько приемов форматирования, о которых вы, возможно, не слышали.
➊ Закавыченная строка
Используйте %q
, чтобы вывести строковое значение в кавычках.
s := "Hello, World!"
fmt.Printf("%q\n", s)
// "Hello, World!"
➋ Названия полей структуры
Используйте %+v
, чтобы вывести названия полей структуры, а не только значения.
alice := person{"Alice", 25}
fmt.Printf("%+v\n", alice)
// {name:Alice age:25}
➌ Тип значения
Используйте %T
, чтобы вывести тип значения.
var val any
val = 42
fmt.Printf("%T: %v\n", val, val)
// int: 42
val = "Hello, World!"
fmt.Printf("%T: %v\n", val, val)
// string: Hello, World!
val = person{"Alice", 25}
fmt.Printf("%T: %v\n", val, val)
// main.person: {Alice 25}
➍ Индекс аргумента
Можно явно указать, какой по порядку аргумент выводить. Полезно, если одно и то же значение выводится несколько раз (как в примере с val
выше).
num := 42
fmt.Printf("%[1]T: %[1]v\n", num)
// int: 42
Нумерация с 1.
★ Подписывайтесь на новые заметки.