Printing struct https://play.golang.org/p/BvMIqF3Pmc9
package main import "fmt" type point struct { x, y int } func main() { p := point{1, 2} fmt.Println("Printing struct point:") fmt.Printf(" type %%T: %T\n", p) fmt.Printf(" just values %%v: %v\n", p) fmt.Printf(" +field names %%+v: %+v\n", p) fmt.Printf(" go syntax %%#v: %#v\n", p) fmt.Println() ptr := &p fmt.Println("Printing pointer to struct point:") fmt.Printf(" type %%T: %T\n", ptr) fmt.Printf(" just values %%v: %v\n", ptr) fmt.Printf(" +field names %%+v: %+v\n", ptr) fmt.Printf(" go syntax %%#v: %#v\n", ptr) fmt.Println() arrP := []point{point{1, 2},point{3, 4}} fmt.Println("Printing array of struct points:") fmt.Printf(" type %%T: %T\n", arrP) fmt.Printf(" just values %%v: %v\n", arrP) fmt.Printf(" +field names %%+v: %+v\n", arrP) fmt.Printf(" go syntax %%#v: %#v\n", arrP) }
Output:
Printing struct point: type %T: main.point just values %v: {1 2} +field names %+v: {x:1 y:2} go syntax %#v: main.point{x:1, y:2} Printing pointer to struct point: type %T: *main.point just values %v: &{1 2} +field names %+v: &{x:1 y:2} go syntax %#v: &main.point{x:1, y:2} Printing array of struct points: type %T: []main.point just values %v: [{1 2} {3 4}] +field names %+v: [{x:1 y:2} {x:3 y:4}] go syntax %#v: []main.point{main.point{x:1, y:2}, main.point{x:3, y:4}}