print-interface

Apr 18, 2023ยทPretty print an interface in golang

print-interface.go

package main

import (
	"encoding/json"
	"fmt"
)

func PrintInterface(i interface{}) error {
	b, err := json.MarshalIndent(i, "", "  ")
	if err != nil {
		return err
	}
	fmt.Println(string(b))
	return nil
}

print-interface.md

Usage:

func main() {
	m := map[string]interface{}{
		"name": "John",
		"age":  30,
		"pets": []string{"cat", "dog"},
	}

	err := PrintInterface(m)
	if err != nil {
		fmt.Println("Error:", err)
	}
}

Outputs:

{
  "age": 30,
  "name": "John",
  "pets": [
    "cat",
    "dog"
  ]
}