gpt4 book ai didi

serialization - golang stringize struct 结构(没有数据)

转载 作者:数据小太阳 更新时间:2023-10-29 03:26:40 25 4
gpt4 key购买 nike

是否有开箱即用的 golang 方法可以让我对 go 结构进行字符串化(序列化为字符串)。

用零值序列化是一种选择,但是一个丑陋的选择。

最佳答案

这是一个示例程序,它使用 encoding/json 包来序列化和反序列化一个简单的结构。请参阅代码注释以获取解释。

请注意,我在这里省略了错误处理。

package main

import (
"bytes"
"encoding/json"
"fmt"
)

// your data structure need not be exported, i.e. can have lower case name
// all exported fields will by default be serialized
type person struct {
Name string
Age int
}

func main() {
writePerson := person{
Name: "John",
Age: 32,
}

// encode the person as JSON and write it to a bytes buffer (as io.Writer)
var buffer bytes.Buffer
_ = json.NewEncoder(&buffer).Encode(writePerson)

// this is the JSON-encoded text
// output: {"Name":"John","Age":32}
fmt.Println(string(buffer.Bytes()))

// deocde the person, reading from the buffer (as io.Reader)
var readPerson person
_ = json.NewDecoder(&buffer).Decode(&readPerson)

// output: {John 32}
fmt.Println(readPerson)
}

关于serialization - golang stringize struct 结构(没有数据),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39520249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com