先定义消息类型

orders.proto

syntax = "proto2";
package message;
message Orders {
required int32 order_id=;
required string title=;
}

在GOPATH创建目录和编译这个消息类型输出到该目录,包名是message

mkdir $GOPATH/src/message;protoc --go_out $GOPATH/src/message orders.proto 

编写go文件进行序列化和反序列化刚才生成的包里的类型结构体数据

package main

import "message"

import "github.com/golang/protobuf/proto"

import "fmt"

func main() {
orders := &message.Orders{
OrderId: proto.Int32(),
Title: proto.String("第一个订单"),
}
//序列化成二进制数据
ordersBytes, _ := proto.Marshal(orders)
//反序列化二进制数据
twoOrders := &message.Orders{}
proto.Unmarshal(ordersBytes, twoOrders)
fmt.Println(twoOrders.GetTitle())
fmt.Println(twoOrders.GetOrderId()) }

最新文章

  1. 用脚本处理utf8的文本文件
  2. HTML语言的一些元素(五)
  3. UIScrollView的滚动位置设置
  4. 认识CoreData-多线程
  5. Delphi动态创建组件,并释放内存
  6. SQL UPDATE 经典
  7. 老司机实战Windows Server Docker:1 初体验之各种填坑
  8. Java(20)file i/o
  9. StringBuilder and StringBuffer
  10. js异步编程终级解决方案 async/await
  11. 【Teradata SQL】使用SQL将多个逗号分隔改为一个逗号分隔
  12. java内存模型与volatile变量与Atomic的compareAndSet
  13. luogu P4342 [IOI1998]Polygon
  14. Java学习---- 数组的引用传递
  15. 『记录』Android参考资料
  16. golang web框架 beego 学习 (一) 环境搭建
  17. 自然对数e(转)
  18. Linux学习8-Linux常用命令(4)
  19. 怎样让CodeBlocks支持C99
  20. 信息收集之zoomeye

热门文章

  1. WPF数据可视化-趋势图
  2. ElementUI项目请求SpringBoot后台项目时提示:Access to XMLHttpRequest at **from origin ** has been blocked by CORS policy
  3. elasticsearch对无意义的词进行屏蔽——停用词
  4. Symfonos:3 Vulnhub Walkthrough
  5. java核心API
  6. 短信相关的AT指令以及信令
  7. Go语言系列:(1)在VsCode中配置Go的开发环境
  8. [译]Vulkan教程(26)描述符池和set
  9. nginx如何实现负载均衡以及实现方式
  10. Linux下dos2unix命令将windows文件编码格式dos转换成Unix格式