0Pricing
Go Academy · Урок

Глаголы Printf

Точно форматируйте значения

«Глаголы Printf» — бесплатный урок Go Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Go Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Go Academy содержит 4 уроков всего.

Что такое глагол форматирования?

fmt.Printf форматирует значения с помощью строки формата. Внутри неё знак процента с буквой образуют глагол, который указывает, как вывести следующий аргумент.

Пример: %d для целых чисел, %s для строк.

package main

import "fmt"

func main() {
    fmt.Printf("%s is %d years old\n", "Ada", 36)
}

Не забывайте о переводе строки

В отличие от Println, Printf не добавляет перевод строки. Добавьте \n самостоятельно, если он нужен.

package main

import "fmt"

func main() {
    fmt.Printf("line one\n")
    fmt.Printf("line two\n")
}

Универсальный глагол %v

%v выводит значение в формате по умолчанию и работает почти с любым типом. %+v также добавляет имена полей структуры.

package main

import "fmt"

type Point struct{ X, Y int }

func main() {
    p := Point{1, 2}
    fmt.Printf("%v\n", p)
    fmt.Printf("%+v\n", p)
}

Глагол синтаксиса Go %#v

%#v выводит значение так, как Вы записали бы его в исходном коде Go. Это особенно удобно для отладки.

package main

import "fmt"

type Point struct{ X, Y int }

func main() {
    p := Point{1, 2}
    fmt.Printf("%#v\n", p)
}

Глагол типа %T

%T выводит тип значения, что полезно, когда Вы не уверены, с чем именно работаете.

package main

import "fmt"

func main() {
    fmt.Printf("%T\n", 42)
    fmt.Printf("%T\n", "hi")
    fmt.Printf("%T\n", 3.14)
}

Системы счисления для целых чисел

Для целых чисел предусмотрено несколько глаголов:

  • %d — десятичный формат,
  • %b — двоичный,
  • %o — восьмеричный,
  • %x — шестнадцатеричный.
package main

import "fmt"

func main() {
    n := 255
    fmt.Printf("%d %b %o %x\n", n, n, n, n)
}

Формат чисел с плавающей точкой

Для чисел с плавающей точкой используется %f для десятичного формата и %e для экспоненциальной записи. %g выбирает наиболее короткую подходящую форму.

package main

import "fmt"

func main() {
    x := 3.14159
    fmt.Printf("%f\n", x)
    fmt.Printf("%e\n", x)
    fmt.Printf("%g\n", x)
}

Точность для чисел с плавающей точкой

Добавьте .N, чтобы управлять количеством знаков после десятичного разделителя. %.2f показывает ровно две цифры после него — это идеально для денежных сумм.

package main

import "fmt"

func main() {
    price := 9.5
    fmt.Printf("$%.2f\n", price)
}

Ширина и выравнивание

Число перед глаголом задаёт минимальную ширину. По умолчанию значения выравниваются по правому краю; знак минуса выравнивает их по левому.

package main

import "fmt"

func main() {
    fmt.Printf("[%5d]\n", 42)
    fmt.Printf("[%-5d]\n", 42)
}

Заполнение нулями

Начальный 0 в ширине дополняет числа нулями — это удобно для кодов фиксированной длины или отметок времени.

package main

import "fmt"

func main() {
    fmt.Printf("%04d\n", 7)
    fmt.Printf("%02d:%02d\n", 9, 5)
}

Логические значения, кавычки и проценты

Другие глаголы: %t для логических значений, %q для строки в двойных кавычках и %% для буквального знака процента.

package main

import "fmt"

func main() {
    fmt.Printf("%t\n", true)
    fmt.Printf("%q\n", "hi")
    fmt.Printf("100%%\n")
}

Быстрая проверка

Какой глагол форматирует число с плавающей точкой с двумя знаками после десятичного разделителя?

Итоги: глаголы Printf

Теперь Вы умеете точно форматировать значения:

  • Общие: %v, %+v, %#v, %T.
  • Числа: %d, %b, %x, %f, %.2f.
  • Разметка: ширина, - для выравнивания по левому краю, 0 для заполнения нулями.
package main

import "fmt"

func main() {
    fmt.Printf("%-8s %6.2f\n", "Total:", 12.5)
}

Часто задаваемые вопросы

Урок «Глаголы Printf» бесплатный?

Да — полный текст урока «Глаголы Printf» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Go Academy, подпишись на CoddyKit PRO. Курс Go Academy содержит 4 уроков всего.

Чему я научусь в уроке «Глаголы Printf»?

Точно форматируйте значения Ты практикуешь Go Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Go Academy?

Предыдущий опыт не требуется. Go Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Глаголы Printf»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Go Academy?

Да. Каждый урок Go Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Глаголы Printf
  2. Sprintf и Fprintf
  3. Интерфейс Stringer
  4. Сканирование ввода
← Назад к Go Academy