相关疑难解决方法(0)

高效将struct序列化为磁盘

我的任务是将C++代码替换为Go,而我是Go API的新手.我使用gob将数百个键/值条目编码到磁盘页面,但gob编码有太多膨胀,不需要.

package main

import (
    "bytes"
    "encoding/gob"
    "fmt"
)
type Entry struct {
    Key string
    Val string
}

func main() {
    var buf bytes.Buffer
    enc := gob.NewEncoder(&buf)
    e := Entry { "k1", "v1" }
    enc.Encode(e)
    fmt.Println(buf.Bytes())
}
Run Code Online (Sandbox Code Playgroud)

这会产生很多我不需要的臃肿:

[35 255 129 3 1 1 5 69 110 116 114 121 1 255 130 0 1 2 1 3 75 101 121 1 12 0 1 3 86 97 108 1 12 0 0 0 11 255 130 1 2 …
Run Code Online (Sandbox Code Playgroud)

serialization struct go gob

7
推荐指数
2
解决办法
6606
查看次数

标签 统计

go ×1

gob ×1

serialization ×1

struct ×1