MyTetra Share
Делитесь знаниями!
Форматированный вывод в Golang
Время создания: 10.11.2020 15:09
Автор: br0ke
Текстовые метки: go, golang, printf, fmt, template, sprintf, specificator, placeholder, verb
Раздел: Информационные технологии - Golang
Запись: and-semakin/mytetra_data/master/base/1605002963fhoah1csam/text.html на raw.githubusercontent.com

Функция fmt.Printf первым аргументом принимает шаблон, состоящий из текста, содержащего спецификаторы (например, %v), а остальными аргументами -- значения, которые будут подставлены в шаблон.


Printf не ставит символ переноса строки.


Пример использования:


var a rune = 'Ы'

fmt.Printf("%q", a)

// вывод: 'Ы'


Доступные спецификаторы:


%t -- для вывода булевых значений

%b -- для вывода целых чисел в двоичной системе исчисления

%c -- для вывода символов, представленных числовым кодом (по кодировке UTF-8)

%d -- для вывода целых чисел в десятичной форме

%o -- для вывода целых чисел в восьмеричной системе исчисления

%q -- для вывода рун, т.е. символов в одинарных кавычках

%x -- для вывода числе в шестнадцетеричной системе, где буквенные значения в нижнем регистре (a-f)

%X -- для вывода числе в шестнадцетеричной системе, где буквенные значения в верхнем регистре (A-F)

%U -- для вывода символов в виде кодов Unicode, например, U+1234

%e -- для вывода вещественных чисел в экспоненциальном представлении, например, 1.2345e+20

%E -- то же самое, как %e, только символ экспоненты E в верхнем регистре, например, 1.2345E+20

%f и %F -- для вывода чисел с плавающей точкой без экспоненты

%g -- %e для огромных экспонент, иначе %f

%G -- %E для огромных экспонент, иначе %F

%s -- для вывода строк

%p -- для вывода значения указателя -- адреса в шестнадцетеричном представлении

%T -- для вывода типа переменной

%v -- универсальный спецификатор, который либо %t, либо %d, либо %g, либо %s в зависимости от типа переданного значения.


Спецификаторы с флагами:

%9f -- ширина 9 символов и точность по умолчанию (если число занимает меньше знаков, то оно будет дополнено до указанной ширины при помощи пробелов)

%.2f -- округлить до 2 символов после запятой

%9.2f -- ширина 9 символов и точность в 2 знака после запятой

%9.f -- ширина 9, точность -- 0


Также можно использовать функцию fmt.Sprintf, которая ничего никуда не печатает, а просто форматирует строку и возвращает её.

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования