Go Package fmt: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 81: Line 81:


==<tt><span id='fmt.Errorf.28.29'></span>Errorf()</tt>==
==<tt><span id='fmt.Errorf.28.29'></span>Errorf()</tt>==
{{Internal|Go_Language_Error_Handling#Wrapping_Errors|Error Handling &#124; Wrapping Errors}}
{{Internal|Go_Language_Error_Handling#fmt.Errorf.28.29|Go Language Error Handling}}
 
=Interfaces=
=Interfaces=
==<tt>fmt.Stringer</tt>==
==<tt>fmt.Stringer</tt>==

Revision as of 02:06, 28 December 2023

External

Internal

Formatting

Conversion Characters

%v

Render the value as string in the default format.

%+v

When printing structs, the plus flag %+v adds field names.

%#v

A Go-syntax representation of the value.

%#v can be used to show that an error instance returned by errors.New("something") is a pointer:

&errors.errorString{s:"something"}

%T

A Go-syntax representation of the type of the value.

%%

A literal percent sign. Consumes no value.

Strings

color := "blue"
fmt.Printf("The color is %s\n", color)

Integers

size := 1
fmt.Printf("The size is %d\n", size)

Characters

c := 'x'
fmt.Printf("The character is %c\n", c)

Booleans

b := true
fmt.Printf("The boolean value is %t\n", b)

Floating Point Numbers

f := 1.0
fmt.Printf("The floating point value is %f\n", f)

Pointers

Pointers in Go | Displaying Pointers

Structs

Go Structs | Printing Structs

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)

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() Format String

Printf(), Println()

Printing to stdout and stderr

Scanf(), Scanln()

Handling stdin in Go

Errorf()

Go Language Error Handling

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:

The Equivalent of Java toString() in Go