Функция fmt.Printf

Функция fmt.Printf выполняет форматированный вывод строки в стандартный поток вывода (stdout). Она принимает строку формата, которая содержит текст и спецификаторы формата (плейсхолдеры), начинающиеся с символа %. Вторым и последующими аргументами передаются значения, которые будут подставлены на место этих плейсхолдеров. В отличие от fmt.Println, данная функция не добавляет автоматически символ новой строки в конце.

Синтаксис

gofmt.Printf(format string, a ...interface{}) (n int, err error)

Пример с подстановкой значений

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

gopackage main

import "fmt"

func main() {
  name := "Alice"
  age := 30
  fmt.Printf("Name: %s, Age: %d", name, age)
}

Результат выполнения кода:

go"Name: Alice, Age: 30"

Пример с форматированием чисел

Рассмотрим вывод числа с плавающей точкой с определенным количеством знаков после запятой:

gopackage main

import "fmt"

func main() {
  pi := 3.1415926535
  fmt.Printf("Pi to two decimals: %.2f", pi)
}

Результат выполнения кода:

go"Pi to two decimals: 3.14"

Пример с несколькими спецификаторами

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

gopackage main

import "fmt"

func main() {
  num := 255
  fmt.Printf("Decimal: %d, Binary: %b, Hex: %x", num, num, num)
}

Результат выполнения кода:

go"Decimal: 255, Binary: 11111111, Hex: ff"

Смотрите также

  • функцию fmt.Println,
    которая выводит строку с добавлением символа новой строки в конце
  • функцию fmt.Sprintf,
    которая возвращает форматированную строку, а не выводит ее
  • функцию fmt.Fprintf,
    которая выполняет форматированный вывод в указанный интерфейс io.Writer
  • описание спецификатора %v,
    который выводит значение в формате по умолчанию