Go Package fmt: Difference between revisions
Jump to navigation
Jump to search
(→%+v) |
(→%+v) |
||
Line 24: | Line 24: | ||
==<tt>%+v</tt>== | ==<tt>%+v</tt>== | ||
When printing structs, the plus flag <code>%+v</code> adds field names. | When printing structs, the plus flag <code>%+v</code> adds field names. | ||
==<tt>%#v</tt>== | |||
A Go-syntax representation of the value. | |||
==<tt>%T</tt>== | |||
A Go-syntax representation of the type of the value. | |||
==<tt>%%</tt>== | |||
A literal percent sign. Consumes no value. | |||
=Functions= | =Functions= |
Revision as of 21:51, 22 December 2023
External
Internal
Formatting
Leading Zero Padding for Integers
i := 7
s := fmt.Sprintf("%06d", i) // will produce "000007" (five zeroes)
Leading Space Padding for Integer
i := 7
s := fmt.Sprintf("%6d", i) // will produce " 7" (five spaces)
%v
Print the value in the default format.
%+v
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.
Functions
Sprintf()
Format a string and returns it as a result:
message := fmt.Sprintf("Hi, %v. Welcome!", name)
For more details on the format string, see:
Printf(), Println()
Scanf(), Scanln()
Errorf()
Interfaces
fmt.Stringer
type Stringer interface {
String() string
}
Stringer
is implemented by any type that has a String()
method, which defines the "native" format for that value. The String()
method is used to print values passed as an operand to any format that accepts a string or to an unformatted printer such as Print
. For a usage example, see: