参考文章:https://developers.google.com/protocol-buffers/docs/gotutorial

1.执行指令:

go env
go get github.com/golang/protobuf/protoc-gen-go

如果是windows:会下载protoc-gen-go.exe到$GOPATH/bin下,把它拷贝到$PATH,它只是protobuf3的golang插件,还不是真正的编译器
如果是linux:会下载protoc-gen-go到$GOPATH/bin下,把它拷贝到$PATH,它只是protobuf3的golang插件,还不是真正的编译器

2.下载protoc,地址https://github.com/google/protobuf/releases,里面可以找到win/linux/mac的二进制文件,
我们需要protoc-3.1.0-win32.zip或者protoc-3.1.0-linux-x86_64.zip,把里面的protoc.exe(其它文件不需要)拷贝到PATH下面

3.生成c++和golang的代码(只有golang需要插件,其它语言不需要)

测试代码:https://github.com/wjx0912/GoLangUtils/blob/master/project_protobuf3/proto/addressbook.proto
protoc --go_out . addressbook.proto
protoc --cpp_out . addressbook.proto
protoc --csharp_out . addressbook.proto
protoc --java_out . addressbook.proto
protoc --js_out . addressbook.proto
protoc --objc_out . addressbook.proto
protoc --ruby_out . addressbook.proto

4.golang的测试代码:https://github.com/wjx0912/GoLangUtils/tree/master/project_protobuf3

5.proto3文档:https://developers.google.com/protocol-buffers/docs/proto3

go api文档:https://godoc.org/github.com/golang/protobuf/proto
https://github.com/google/protobuf/blob/master/examples/addressbook.proto

Golang里面使用protobuf(proto3)的更多相关文章

  1. golang——win10环境protobuf的使用

    1.protobuf配置 (1)https://github.com/protocolbuffers/protobuf/releases (2)选择适合的版本:protoc-3.8.0-win64.z ...

  2. 在 Golang 中使用 Protobuf

    wget https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gztar zxvf proto ...

  3. Protobuf 小试牛刀

    本文以PHP为例. 环境: CentOS 6.8 proto 3.8 PHP 7.1.12 PHP protobuf扩展 3.8.0 go1.12.5 linux/amd64 本文示例仓库地址: ht ...

  4. Go Protobuf(比xml小3-10倍, 快20-100倍)

    简介 Protocol Buffers是什么? protocol buffers 是一种灵活,高效,自动化机制的结构数据序列化方法-可类比 XML,但是比 XML 更小.更快.更为简单.你可以定义数据 ...

  5. Go + gRPC-Gateway(V2) 构建微服务实战系列,小程序登录鉴权服务:第一篇(内附开发 demo)

    简介 小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系. 系列 云原生 API 网关,gRPC-Gateway V2 初探 业务流程 官方开发接入文档 ...

  6. 【微服务落地】服务间通信方式: gRPC的入门

    gRPC是什么 官方介绍: https://grpc.io/docs/what-is-grpc/introduction/ "A high-performance, open-source ...

  7. GoCN每日新闻(2019-10-21)

    GoCN每日新闻(2019-10-21) GoCN每日新闻(2019-10-21)   1. 使用 Golang, RabbitMQ 和 Protobuf 构建高效的微服务 https://mediu ...

  8. gRPC学习之二:GO的gRPC开发环境准备

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos gRPC学习系列文章链接 在CentOS7部署和设置G ...

  9. Protobuf 语言指南(proto3)

    Protobuf 语言指南(proto3) Protocol Buffer是Google的语言中立的,平台中立的,可扩展机制的,用于序列化结构化数据 - 对比XML,但更小,更快,更简单.您可以定义数 ...

随机推荐

  1. python的各种编辑器-PyScripter、pycharm 、atom、vscode、Sublime Text等等

    RT,本文主要列举python的各种编辑器-PyScripter.pycharm .atom.vscode.Sublime Text等等. PyScripter 开源 免费 windows only ...

  2. Fragment的生命周期(三)

    自定义lifecycleoffragment布局文件 在main_activity布局中引用自定义的fragment布局 到logcat中查看程勋运行的结果 代码如下: 自定义的fragment布局: ...

  3. 北大poj-1011

    木棒 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 136132   Accepted: 32036 Description ...

  4. IOS BLE蓝牙4.0

    前言: 自己做的项目里面有这么一个功能,总结归纳一下. 先导入必要的框架  CoreBluetooth.framework 在要用到蓝牙的文件里面导入以下头文件 #import <CoreBlu ...

  5. 如何快速在当前目录打开cmd命令提示符

    对于稍微熟悉电脑一些的朋友来说.cmd绝对是个很方便的东西.但是每次使用cmd都要cd半天才能到当前目录.怎么快速打开当前目录呢? 当前目录按住shift再右键.然后会看到右键菜单里有一个" ...

  6. C# Winform中无焦点状态下获取键盘输入或者USB扫描枪数据

    类文件: C#类文件 using System; using System.Collections.Generic; using System.Text; using System.Runtime.I ...

  7. 路线更改事件 $routeChangeStart 与 $locationChangeStart

    $routeChangeStart属于$route模块,使用将要改变的路由和当前路由对比,在没有跳转之前 参数包括 function(event, next, current)  next $loca ...

  8. webstorm mac版快捷键

    WebStorm快捷键(Mac版) ⌘--Command ⌃ --Control ⌥--alt ⇧--Shift ⇪--Caps Lock fn--功能键就是fn 编辑 Command+alt+T 用 ...

  9. C# 字符编码类Encoding

    在网络通信中,很多情况下都是将字符信息转成字节序列进行传输.将字符序列转为字节序列的过程称为编码.当这些字节传送到接收方,接收方需要逆向将字节序列转为字符序列.这个过程就是解码. 常见编码有ASCII ...

  10. jenkins之安装篇

    自动化学习过程中老师介绍了一个工具jenkins,感觉很不错,学习ingjenkins的war包下载地址http://mirrors.jenkins-ci.org/war/Hudson的war包下载地 ...