skip to content
Alvin Lucillo

Implementing String()

/ 1 min read

💻 Tech

In Go, you can implement fmt package’s Stringer interface to customize how you want your struct to be printed. In the example below, Guo has its own way of printing itself while Pays relies on the default way it will be printed

type Guo struct {
	name string
}

type Pays struct {
	name string
}

func (g Guo) String() string {
	return fmt.Sprintf("Wo de guo shi %v", g.name)
}

func main() {
	fmt.Println(Guo{name: "zhong guo"}) // Wo de guo shi zhong guo
	fmt.Println(Pays{name: "france"}) // {france}
}