Golang 用 Gob 传输数据
package main
import (
"bytes"
"encoding/gob"
"fmt"
"log"
)
func main() {
// 创建一个缓冲区用于Gob编码和解码
var network bytes.Buffer
// 编码
encoder := gob.NewEncoder(&network)
if err := encoder.Encode(map[string]int{"one": 1, "two": 2, "three": 3}); err != nil {
log.Fatal("Error encoding:", err)
}
// 解码
decoder := gob.NewDecoder(&network)
var decodedMap map[string]int
if err := decoder.Decode(&decodedMap); err != nil {
log.Fatal("Error decoding:", err)
}
fmt.Println("Decoded map:", decodedMap)
}
这段代码演示了如何在Go语言中使用Gob包进行数据的编码和解码。首先创建了一个bytes.Buffer
用于缓存数据,然后使用gob.NewEncoder()
创建一个编码器并将一个字典结构编码到缓冲区中。接着使用gob.NewDecoder()
创建一个解码器,将编码的数据从缓冲区中解码回原来的字典结构。最后打印出解码后的数据以验证结果。
评论已关闭