要在GoLang中使用GOB编码序列化嵌套结构,首先需要定义一个结构体,其中包含嵌套结构,然后使用encoding/gob包中的Encoder和Decoder类型来进行序列化和反序列化。
下面是一个示例:
package main
import (
"encoding/gob"
"fmt"
"os"
)
type Address struct {
Street string
City string
}
type Person struct {
Name string
Age int
Address Address
}
func main() {
// 创建一个Person结构体
p := Person{
Name: "John Doe",
Age: 30,
Address: Address{
Street: "123 Main Street",
City: "New York",
},
}
// 创建一个文件用于保存序列化数据
file, err := os.Create("person.gob")
if err != nil {
fmt.Println(err)
return
}
defer file.Close()
// 创建一个编码器
encoder := gob.NewEncoder(file)
// 将Person结构体编码到文件中
err = encoder.Encode(p)
if err != nil {
fmt.Println(err)
return
}
}