Форматированный вывод
Часть раздела Основы путешествия по GO на Coddy — урок 29 из 109.
Давайте узнаем, как форматировать вывод в Go с помощью функции fmt.Printf(). Эта функция позволяет нам отображать значения в определенных форматах, используя заполнители.
Сначала давайте создадим программу, которая форматирует различные типы данных с помощью заполнителей (placeholders):
name := "Gopher"
age := 5
height := 1.5
fmt.Printf("Name: %s, Age: %d, Height: %.1f\n", name, age, height)После выполнения этого кода текст "Name: Gopher, Age: 5, Height: 1.5" отобразится на экране. Плейсхолдеры в нашей строке заменяются фактическими значениями наших переменных.
Давайте разберем, что делает каждый заполнитель:
// %s заменяется строковым значением (name)
// %d заменяется целым числом (age)
// %.1f заменяется числом с плавающей точкой с 1 знаком после запятой (height)
// %t заменяется логическим значением (true или false)Символ \n в конце строки формата — это управляющий символ, который перемещает курсор на новую строку — точно так же, как нажатие клавиши Enter. Он должен находиться внутри кавычек без пробела перед закрывающей кавычкой, иначе в выводе появятся лишние пробелы.
Функция fmt.Printf() заменяет каждый заполнитель соответствующей переменной, которую мы указываем после строки формата. Порядок переменных должен соответствовать порядку заполнителей.
Теперь давайте попробуем другой пример с различными типами форматирования:
pi := 3.14159
percentage := 0.75
letter := 'A'
fmt.Printf("Pi: %.2f, Percentage: %.1f%%, Letter: %c\n", pi, percentage*100, letter)После выполнения этого кода текст "Pi: 3.14, Percentage: 75.0%, Letter: A" появится на экране. Обратите внимание, как %.2f отображает только 2 знака после запятой для числа pi, и мы умножаем процент на 100, чтобы отобразить его как процентное значение.
Также обратите внимание на %% в строке формата — это специальная escape-последовательность, которая выводит литеральный знак %. Одиночный % будет рассматриваться как начало заполнителя, поэтому мы используем %% всякий раз, когда хотим отобразить фактический символ процента в выводе.
Задание
ЛегкоВ этом испытании вы попрактикуетесь в использовании форматированного вывода в Go с помощью функции `fmt.Printf()`.
У вас есть информация о продукте, которую необходимо вывести в определенном формате, используя спецификаторы формата. Переменные уже определены для вас.
Ваша задача — использовать `fmt.Printf()` с соответствующими спецификаторами формата для вывода информации о продукте:
- Используйте `%s` для строк
- Используйте `%d` для целых чисел
- Используйте `%.2f` для чисел с плавающей запятой с 2 знаками после запятой
- Используйте `%t` для логических значений
Выведите информацию о продукте точно так, как показано в ожидаемом выводе.
Попробуйте сами
package main
import "fmt"
func main() {
// Информация о продукте
productName := "Wireless Headphones"
productPrice := 79.99
productInStock := true
productID := 12345
// TODO: Используйте fmt.Printf() со спецификаторами формата для вывода информации о продукте:
// Product: Wireless Headphones (ID: 12345)
// Price: $79.99
// In Stock: true
//
// Подсказка: используйте %s для строк, %d для целых чисел, %.2f для чисел с плавающей точкой, %t для логических значений
// Не забудьте добавить \n в конце каждой строки для правильного форматирования
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы сравнения и логические операторы
Операторы сравнения — Часть 1Операторы сравнения — Часть 2Логический оператор ANDЛогический оператор ORЛогический оператор NOTОсновы приоритета операторовИтоги: выполнение сравнений7Управляющие конструкции: Циклы
Что такое цикл `for`Цикл `for` — основыЦикл `for` — только условиеКлючевое слово `break`Ключевое слово `continue`Вложенные циклыИтоги — повторение действий2Переменные и базовые типы данных
Что такое переменнаяВывод типов с помощью `:=`Целые числа (int)Числа с плавающей точкойЛогический тип (Booleans)СтрокиНулевые значения (Zero Values)КонстантыПравила именованияИтоги: переменные и типы5Основы ввода-вывода
Форматированный выводСпецификаторы форматаВывод типовБазовый ввод данных пользователемИтоги: ввод и вывод8Функции
Понимание функцийОбъявление функцииВызов функцийПараметры функцииВозврат одного значенияВозврат нескольких значенийИменованные возвращаемые значенияОсновы области видимости функцийИтоги — создание переиспользуемого кода3Базовые операторы
Арифметические операторыОператор деленияОператор остатка от деленияОператор присваиванияКомбинированные операторы присваиванияИнкремент и декрементПовторение — Вычисления6Управление потоком: Условные конструкции
Оператор `if`Ключевое слово `else`Ключевое слово `else if`Затенение переменных в `if`Инициализация переменныхОператор `switch`Switch с выражениямиSwitch без выраженийКлючевое слово `fallthrough`Итоги — Принятие решений