Форматированный вывод
Часть раздела Основы путешествия по GO на Coddy — урок 29 из 109.
Давайте узнаем, как форматировать вывод в Go с помощью функции fmt.Printf(). Эта функция позволяет нам отображать значения в определенных форматах, используя заполнители.
Сначала давайте создадим программу, которая форматирует различные типы данных с помощью заполнителей:
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)Функция 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 знака после запятой для числа пи, и мы умножаем процент на 100, чтобы показать его как процентное значение.
Также обратите внимание на специальную последовательность %% в строке форматирования — именно так выводится литеральный символ % с помощью fmt.Printf(). Одиночный символ % будет рассматриваться как начало заполнителя, поэтому %% используется для его экранирования и отображения самого знака процента.
Задание
ЛегкоВ этом испытании вы попрактикуетесь в использовании форматированного вывода в Go с помощью функции `fmt.Printf()`.
У вас есть информация о продукте, которую необходимо отобразить в определенном формате, используя глаголы форматирования (format verbs). Переменные уже определены за вас.
Ваша задача — использовать `fmt.Printf()` с соответствующими глаголами форматирования для отображения информации о продукте:
- Используйте `%s` для строк
- Используйте `%d` для целых чисел
- Используйте `%.2f` для чисел с плавающей запятой с 2 знаками после запятой
- Используйте `%t` для логических (boolean) значений
Отобразите информацию о продукте точно так, как показано в ожидаемом выводе.
Шпаргалка
Используйте fmt.Printf() для форматирования вывода с использованием заполнителей:
fmt.Printf("Name: %s, Age: %d, Height: %.1f\n", name, age, height)Общие спецификаторы формата:
%s— строковое значение%d— целое число%.1f— число с плавающей точкой с 1 знаком после запятой%.2f— число с плавающей точкой с 2 знаками после запятой%t— логическое значение (boolean)%c— символ%%— литерал знака процента (%)
Порядок переменных должен соответствовать порядку заполнителей в строке формата.
Используйте \n в конце строки формата, чтобы перейти на новую строку после вывода.
Попробуйте сами
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`Итоги — Принятие решений