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

