Урок объясняет работу пакета fmt в Go: форматированный вывод с Printf, создание строк через Sprintf, вывод в потоки через Fprintf, использование форматных вербов и escape-последовательностей.
Пакет fmt - один из самых используемых в Go. Он предоставляет функции для вывода текста в терминал, форматирования строк, работы с потоками данных и создания строк с помощью шаблонов.
Пакет включает три основные группы функций:
Используются для простого вывода без форматирования:
fmt.Print("hello")
fmt.Println("hello") // добавляет перевод строки
fmt.Printf("Value: %v", 42)
Эта функция использует форматные вербы - специальные маркеры, которые определяют, как выводить данные.
На слайде (страница 3) показаны основные вербы:
Верб Описание
%v вывод по умолчанию
%t boolean - "true" или "false"
%c символ
%X шестнадцатеричное число (верхний регистр)
%U вывод Unicode в формате U+XXXX
%e научная нотация
Пример:
fmt.Printf("Hex: %X", 255) // Hex: FF
fmt.Printf("Rune: %U", 'Ж') // U+0416
Слайд 4 показывает специальные последовательности для символов:
Последовательность Описание
\\ обратная косая черта
\' одиночная кавычка
\" двойная кавычка
\n новая строка
\u / \U Unicode (2 / 4 байта)
\x байты в hex
Примеры:
fmt.Println("Line1\nLine2")
fmt.Println("Quote: \'Hello\'")
fmt.Println("Unicode: \u0416")
Вместо печати --- возвращает строку:
msg := fmt.Sprintf("Value: %v", 42)
fmt.Println(msg)
Можно выводить в файл, сеть или буфер:
fmt.Fprintf(os.Stdout, "Hello %v", 99)
На последнем слайде показан пример использования Sprintf:
func surround(msg string, left, right rune) string {
return fmt.Sprintf("%c%s%c", left, msg, right)
}
surrounded := surround("this message", '(', ')')
fmt.Println(surrounded)
// (this message)
fmt позволяет выводить текст, форматировать строки и работать с
потоками.Printf использует вербы для форматирования данных.Sprintf создаёт строки, а Fprintf выводит в любой поток.