当前位置: 首页 > news >正文

gob是Golang包序列化的编码/解码

gob是Golang包自带的一个数据结构序列化的编码/解码工具。编码使用Encoder,解码使用Decoder。一种典型的应用场景就是RPC(remote procedure calls)。

package main
 
import (
    "bytes"
    "encoding/gob"
    "fmt"
    "log"
)
 
type P struct {
    X, Y, Z int
    Name    string
}
 
type Q struct {
    X, Y *int32
    Name string
}
 
func main() {
    var network bytes.Buffer       
    enc := gob.NewEncoder(&network)
    dec := gob.NewDecoder(&network)
    // Encode (send) the value.
    err := enc.Encode(P{3, 4, 5, "Pythagoras"})
    if err != nil {
        log.Fatal("encode error:", err)
    }
    // Decode (receive) the value.
    var q Q
    err = dec.Decode(&q)
    if err != nil {
        log.Fatal("decode error:", err)
    }
    fmt.Println(q)
    fmt.Printf("%q: {%d,%d}\n", q.Name, *q.X, *q.Y)
 
}

相关文章:

  • redis主从搭建
  • fastdfs启动与停止示例
  • 常见网站的总结
  • 网站框架设计
  • beego发邮件服务--邮箱
  • beego框架使用session后报错runtime error: invalid memory address or nil pointer dereference
  • golang从结构体中解析出json
  • protobuf简单介绍
  • golang中md5加密算法
  • package golang.org/x/crypto/ssh/terminal: unrecognized import path golang.org/x/crypto/ssh/terminal
  • CentOS6设置静态IP可上网
  • 通过码云来管理代码
  • SparkStreaming中reduceByKeyAndWindow算子的使用
  • 区块链:讲故事告诉你比特币的原理及运作机制
  • Spark的WordCount产生多少个RDD
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 【技术性】Search知识
  • 【剑指offer】让抽象问题具体化
  • AngularJS指令开发(1)——参数详解
  • CSS居中完全指南——构建CSS居中决策树
  • java第三方包学习之lombok
  • JAVA多线程机制解析-volatilesynchronized
  • JS 面试题总结
  • Laravel5.4 Queues队列学习
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • pdf文件如何在线转换为jpg图片
  • Phpstorm怎样批量删除空行?
  • React-Native - 收藏集 - 掘金
  • SSH 免密登录
  • vue 配置sass、scss全局变量
  • 机器学习中为什么要做归一化normalization
  • 蓝海存储开关机注意事项总结
  • 普通函数和构造函数的区别
  • 数组大概知多少
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 与 ConTeXt MkIV 官方文档的接驳
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • #if 1...#endif
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (编译到47%失败)to be deleted
  • (二)Linux——Linux常用指令
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (转)Android学习笔记 --- android任务栈和启动模式
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .NET Micro Framework 4.2 beta 源码探析
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • .NET中的Exception处理(C#)
  • :中兴通讯为何成功
  • @EnableConfigurationProperties注解使用
  • @Responsebody与@RequestBody
  • [ linux ] linux 命令英文全称及解释