对于我的应用程序,字符串是否为人类可读的都没有关系。
将结构编码为字符串的一种流行方法是使用JSON。
您有某些限制,例如无法获取所有信息(例如,每个字段的特定类型),仅序列化导出的字段以及不处理递归值。但这是序列化数据的简单标准方法。
工作示例:
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="}
https://play.golang.org/p/sx-xdSxAOG