fmt
Ранее для вывода значений на консоль используется встроенная функция fmt.Println() из пакета fmt. Например:
package main
import "fmt"
func main() {
var n = 6
fmt.Println(n) // 6
}
Но функция fmt.Println() имеет ряд особенностей:
-
При выводе в конец добавляется первод строки
-
При выводе нескольких значений они разделяются пробелом
Эти особенности могут быть как достоинствами, так и недостатками в зависимости от ситуации. Например, нам не надо делать перевод на следующую строку или нам не надо, чтобы значения были разделены пробелом. И в этом случае мы можем воспользоваться другими функциями.
Функция Print()
Функция fmt.Print() из пакета fmt также, как и функция fmt.Println() выводит некоторое значение или набор значений, только не добавляет перевод строки или пробел между разными значениями. Например:
Функция Printf(). Форматированный вывод
Третья функция, которая применяется для вывода на консоль, - fmt.Printf(). Этой функции передается строка фоматирования. В принципе с помощью этой функции мы могли бы вывести обычную строку:
package main
import "fmt"
func main() {
fmt.Printf("Hello METANIT.COM\n")
}
Однако передаваемая строка предназначена именно для форматирования вывода, собственно поэтому эта строка и называется строка фоматирования. Строка форматирования содержит набор спецификаторов. Каждый спецификатор представляет набор символов, которые интерпретируются определенным образом и предваряются знаком процента %. Каждый спецификатор представляет определенный формат данных. Причем один и тот же сцепификатор может применяться для разных типов с разной интерпретацией:
-
%t: для вывода значений типа boolean (true или false)
-
%b: для вывода целых чисел в двоичной системе
-
%b: для вывода чисел с плавающей точкой без десятичной точки с показателем степени двойки
-
%c: для вывода символов, представленных числовым кодом
-
%d: для вывода целых чисел в десятичной системе
-
%o: для вывода целых чисел в восьмеричной системе
-
%O: для вывода целых чисел в восьмеричной системе, которые предваряются префиксом "O"
-
%q: для вывода символов в одинарных кавычках
-
%x: для вывода целых чисел, чисел с плавающей точкой и строк в шестнадцатиричной системе, буквенные символы числа имеют нижний регистр a-f
-
%X: для вывода целых чисел, чисел с плавающей точкой и строк в шестнадцатиричной системе, буквенные символы числа имеют верхний регистр A-F
-
%U: для вывода символов в формате кодов Unicode, например, U+1234
-
%e: для вывода чисел с плавающей точкой в экспоненциальном представлении, например, -1.234456e+78
-
%E: для вывода чисел с плавающей точкой в экспоненциальном представлении, например, -1.234456E+78
-
%f: для вывода чисел с плавающей точкой, например, 123.456
-
%F: то же самое, что и %f
-
%g: для длинных чисел с плаващей точкой используется %e, для других - %f
-
%G: для длинных чисел с плаващей точкой используется %E, для других - %F
-
%s: для вывода строки
-
%p: для вывода значения указателя - адреса в шестнадцатеричном представлении
-
%v: универсальный спецификатор, который выводит значение в формате по умолчанию: для типа boolean аналогичен %t, для целочисленных типов - %d, для чисел с плавающей точкой - %g, для строк - %s.
-
%#v: для вывода значения в формает синтаксиса Go
-
%T: для вывода типа данных
-
%%: для вывода символа процентов