HiveBrain v1.2.0
Get Started
← Back to all entries
snippetgoCritical

How can I get the string representation of a struct?

Submitted by: @import:stackoverflow-api··
0
Viewed 0 times
howstructtherepresentationcanstringget

Problem

For my application, it does not matter if the string is human readable or not.

Solution

One popular way of encoding structs into strings is using JSON.

You have certain limitations such as not getting all the information (such as the specific type of each field), only serializing exported fields, and not handling recursive values. But it is a simple standard way of serializing data.

Working example:

package main

import (
    "fmt"
    "encoding/json"
)

type s struct {
    Int       int
    String    string
    ByteSlice []byte
}

func main() {
    a := &s{42, "Hello World!", []byte{0,1,2,3,4}}

    out, err := json.Marshal(a)
    if err != nil {
        panic (err)
    }

    fmt.Println(string(out))
}


Give this output:

{"Int":42,"String":"Hello World!","ByteSlice":"AAECAwQ="}


https://play.golang.org/p/sx-xdSxAOG

Code Snippets

package main

import (
    "fmt"
    "encoding/json"
)

type s struct {
    Int       int
    String    string
    ByteSlice []byte
}

func main() {
    a := &s{42, "Hello World!", []byte{0,1,2,3,4}}

    out, err := json.Marshal(a)
    if err != nil {
        panic (err)
    }

    fmt.Println(string(out))
}
{"Int":42,"String":"Hello World!","ByteSlice":"AAECAwQ="}

Context

Stack Overflow Q#16331063, score: 143

Revisions (0)

No revisions yet.