相关疑难解决方法(0)

使用gob打包递归定义的结构

我主要使用Python,但我正在玩Go.我写了以下内容来做一些在python中非常简单的事情,我希望它也可以在Go中完成.

package main

import (
    "bytes"
    "encoding/gob"
    "fmt"
    "io/ioutil"
)

type Order struct {
    Text string
    User *User
}

type User struct {
    Text  string
    Order *Order
}

func main() {
    o := Order{}
    u := User{}
    o.Text = "order text"
    u.Text = "user text"

    // commenting this section prevents stack overflow
    o.User = &u
    u.Order = &o
    fmt.Println("o.u.text:", o.User.Text, "u.o.text:", u.Order.Text)
    // end section

    m := new(bytes.Buffer)
    enc := gob.NewEncoder(m)
    enc.Encode(o)
    err := ioutil.WriteFile("gob_data", m.Bytes(), 0600)
    if err != …
Run Code Online (Sandbox Code Playgroud)

go recursive-datastructures gob

3
推荐指数
1
解决办法
410
查看次数

标签 统计

go ×1

gob ×1

recursive-datastructures ×1