declarar - golang español
Bonita variable de golang de impresión (2)
¿Hay algo como awesome_print
Ruby
en Golang
?
Por ejemplo, en ruby podrías escribir:
require ''ap''
x = {a:1,b:2} // also works for class
ap x
la salida sería:
{
"a" => 1,
"b" => 2
}
Lo más cercano que pude encontrar es Printf("%#v", x)
No importa, encontré uno: https://github.com/davecgh/go-spew
// import "github.com/davecgh/go-spew/spew"
x := map[string]interface{}{"a":1,"b":2}
spew.Dump(x)
Daría una salida:
(map[string]interface {}) (len=2) {
(string) (len=1) "a": (int) 1,
(string) (len=1) "b": (int) 2
}
Si su objetivo es evitar la importación de un paquete de terceros, su otra opción es usar json.MarshalIndent :
x := map[string]interface{}{"a": 1, "b": 2}
b, err := json.MarshalIndent(x, "", " ")
if err != nil {
fmt.Println("error:", err)
}
fmt.Print(string(b))
Salida:
{
"a": 1,
"b": 2
}
Muestra de trabajo: http://play.golang.org/p/SNdn7DsBjy