НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ
Golang. Уроки для початківців

En

Go Дієслова форматування


Дієслова форматування для Printf()

Go пропонує кілька дієслів форматування, які можна використовувати з функцією Printf().


Дієслова загального форматування

Наведені нижче дієслова можна використовувати з усіма типами даних:

Дієслово Опис
%v Друкує значення у стандартному форматі
%#v Друкує значення у форматі синтаксису Go
%T Друкує тип значення
%% Друкує знак %

Приклад

package main
import ("fmt")

func main() {
  var i = 15.5
  var txt = "Hello World!"

  fmt.Printf("%v\n", i)
  fmt.Printf("%#v\n", i)
  fmt.Printf("%v%%\n", i)
  fmt.Printf("%T\n", i)

  fmt.Printf("%v\n", txt)
  fmt.Printf("%#v\n", txt)
  fmt.Printf("%T\n", txt)
}

Результат:

15.5
15.5
15.5%
float64
Hello World!
"Hello World!"
string
Спробуйте самі »

Дієслова форматування цілих чисел

Наведені нижче дієслова можна використовувати з цілочисельним типом даних:

Дієслово Опис
%b Основа 2
%d Основа 10
%+d Основа 10 і завжди показувати знак
%o Основа 8
%O Основа 8, з ведучим 0o
%x Основа 16, нижній регістр
%X Основа 16, верхній регістр
%#x Основа 16, з ведучим 0x
%4d Накладка із пробілами (ширина 4, вирівнювання по правому краю)
%-4d Накладка із пробілами (ширина 4, вирівнювання за лівим краєм)
%04d Накладка з нулями (ширина 4)

Приклад

package main
import ("fmt")

func main() {
  var i = 15
 
  fmt.Printf("%b\n", i)
  fmt.Printf("%d\n", i)
  fmt.Printf("%+d\n", i)
  fmt.Printf("%o\n", i)
  fmt.Printf("%O\n", i)
  fmt.Printf("%x\n", i)
  fmt.Printf("%X\n", i)
  fmt.Printf("%#x\n", i)
  fmt.Printf("%4d\n", i)
  fmt.Printf("%-4d\n", i)
  fmt.Printf("%04d\n", i)
}

Результат:

1111
15
+15
17
0o17
f
F
0xf
  15
15
0015
Спробуйте самі »

Дієслова форматування рядка

Наведені нижче дієслова можна використовувати з типом даних string (рядок):

Дієслово Опис
%s Друкує значення як звичайний рядок
%q Друкує значення як рядок у подвійних лапках
%8s Друкує значення як простий рядок (ширина 8, вирівнювання по правому краю)
%-8s Друкує значення як простий рядок (ширина 8, вирівняне за лівим краєм)
%x Друкує значення як шістнадцятковий дамп байтових значень
% x Друкує значення як шістнадцятковий дамп із пробілами

Приклад

package main
import ("fmt")

func main() {
  var txt = "Hello"
 
  fmt.Printf("%s\n", txt)
  fmt.Printf("%q\n", txt)
  fmt.Printf("%8s\n", txt)
  fmt.Printf("%-8s\n", txt)
  fmt.Printf("%x\n", txt)
  fmt.Printf("% x\n", txt)
}

Результат:

Hello
"Hello"
   Hello
Hello
48656c6c6f
48 65 6c 6c 6f
Спробуйте самі »

Логічні дієслова форматування

Наведене нижче дієслово можна використовувати з логічним типом даних:

Дієслово Опис
%t Значення логічного оператора у форматі true або false (так само як при використанні %v)

Приклад

package main
import ("fmt")

func main() {
  var i = true
  var j = false

  fmt.Printf("%t\n", i)
  fmt.Printf("%t\n", j)
}

Результат:

true
false
Спробуйте самі »

Дієслова форматування Float

Наведені нижче дієслова можна використовувати з типом даних float:

Дієслово Опис
%e Наукова нотація з показником 'e'
%f Десяткова крапка, без експоненти
%.2f Ширина за замовчуванням, точність 2
%6.2f Ширина 6, точність 2
%g Експонента за потреби, лише необхідні цифри

Приклад

package main
import ("fmt")

func main() {
  var i = 3.141

  fmt.Printf("%e\n", i)
  fmt.Printf("%f\n", i)
  fmt.Printf("%.2f\n", i)
  fmt.Printf("%6.2f\n", i)
  fmt.Printf("%g\n", i)
}

Результат:

3.141000e+00
3.141000
3.14
  3.14
3.141
Спробуйте самі »