Golang : How to control fmt or log print format?




How to control fmt or log print format output? Use this reference as guide on how to control the fmt or log print function format.

Taken from https://golang.org/pkg/fmt/

General:

%v the value in a default format.when printing structs, the plus flag (%+v) adds field names

%#v a Go-syntax representation of the value

%T a Go-syntax representation of the type of the value

%% a literal percent sign; consumes no value

Boolean:

%t the word true or false

Integer:

%b base 2

%c the character represented by the corresponding Unicode code point

%d base 10

%o base 8 - Octal ( see here on leading zero problem )

%q a single-quoted character literal safely escaped with Go syntax.

%x base 16, with lower-case letters for a-f

%X base 16, with upper-case letters for A-F

%U Unicode format: U+1234; same as "U+X"

Floating-point and complex constituents:

%b decimalless scientific notation with exponent a power of two, in the manner of strconv.FormatFloat with the 'b' format, e.g. -123456p-78

%e scientific notation, e.g. -1234.456e+78

%E scientific notation, e.g. -1234.456E+78

%f decimal point but no exponent, e.g. 123.456

%g whichever of %e or %f produces more compact output

%G whichever of %E or %f produces more compact output

String and slice of bytes:

%s the uninterpreted bytes of the string or slice

%q a double-quoted string safely escaped with Go syntax

%x base 16, lower-case, two characters per byte

%X base 16, upper-case, two characters per byte

Pointer:

%p base 16 notation, with leading 0x

Other flags:

+ always print a sign for numeric values;guarantee ASCII-only output for %q (%+q)

- pad with spaces on the right rather than the left (left-justify the field)

# alternate format: add leading 0 for octal (%#o), 0x for hex (%#x);

0X for hex (%#X); suppress 0x for %p (%#p);

print a raw (backquoted) string if possible for %q (%#q);

write e.g. U+0078 'x' if the character is printable for %U (%#U).

' ' (space) leave a space for elided sign in numbers (% d);

put spaces between bytes printing strings or slices in hex (% x, % X)

0 pad with leading zeros rather than spaces





By Adam Ng

IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.


Advertisement