Перейти к основному содержимому

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: для вывода типа данных

  • %%: для вывода символа процентов