Go Formatting Verbs #
Go provides several formatting verbs that can be used with the fmt.Printf()
function to control the output format of data.
✅ General Formatting Verbs #
These verbs work with all data types:
Verb | Description |
---|---|
%v | Prints the value in default format |
%#v | Prints the value in Go-syntax format |
%T | Prints the type of the value |
%% | Prints the percent sign (%) |
Example: #
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)
}
Result:
15.5
15.5
15.5%
float64
Hello World!
"Hello World!"
string
✅ Integer Formatting Verbs #
Verb | Description |
---|---|
%b | Base 2 (binary) |
%d | Base 10 (decimal) |
%+d | Base 10 with sign |
%o | Base 8 (octal) |
%O | Base 8 with leading “0o” |
%x | Base 16 (lowercase hex) |
%X | Base 16 (uppercase hex) |
%#x | Base 16 with “0x” prefix |
%4d | Width 4, right justified |
%-4d | Width 4, left justified |
%04d | Width 4, padded with zeros |
Example: #
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)
}
Result:
1111
15
+15
17
0o17
f
F
0xf
15
15
0015
✅ String Formatting Verbs #
Verb | Description |
---|---|
%s | Plain string |
%q | Double-quoted string |
%8s | Right-justified with width 8 |
%-8s | Left-justified with width 8 |
%x | Hex dump of byte values |
% x | Hex dump with spaces |
Example: #
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)
}
Result:
Hello
"Hello"
Hello
Hello
48656c6c6f
48 65 6c 6c 6f
✅ Boolean Formatting Verbs #
Verb | Description |
---|---|
%t | Prints true or false (same as %v) |
Example: #
package main
import "fmt"
func main() {
var i = true
var j = false
fmt.Printf("%t\n", i)
fmt.Printf("%t\n", j)
}
Result:
true
false
✅ Float Formatting Verbs #
Verb | Description |
---|---|
%e | Scientific notation (e.g., 1.234e+00) |
%f | Decimal point without exponent |
%.2f | Default width, precision 2 |
%6.2f | Width 6, precision 2 |
%g | Exponent as needed, only necessary digits |
Example: #
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)
}
Result:
3.141000e+00
3.141000
3.14
3.14
3.141
🚀 Now you have a solid understanding of Go’s powerful formatting verbs for Printf()
!