参考文章: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. HBase的基本架构及其原理介绍

    1.概述:最近,有一些工程师问我有关HBase的基本架构的问题,其实这个问题仅仅说架构是非常简单,但是需要理解.在这里,我觉得可以用HDFS的架构作为借鉴.(其实像Hadoop生态系统中的大部分组建的 ...

  2. iOS中block的用法 以及和函数用法的区别

    ios中block的用法和函数的用法大致相同 但是block的用法的灵活性更高: 不带参数的block: void ^(MyBlock)() = ^{}; 调用的时候  MyBlock(); 带参数的 ...

  3. 锤子手机T2 屏幕录像文件保存在哪里?

    在根目录下的 /Video/ScreenRecorder 下面   转至: http://30daydo.com/article/115

  4. Android斗地主棋牌游戏牌桌实现源码下载

    本次给大家分享下Android斗地主棋牌游戏牌桌实现源码下载如下: 为了节约内存资源,每张扑克牌都是剪切形成的,当然这也是当前编程的主流方法. 1.主Activity package com.biso ...

  5. Prototype之个人见解

    prototype js 的对象比较 由于 js 是解释执行的语言, 那么再代码中出现函数与对象如果重复执行, 会创建多个副本 在代码中重复执行的代码容易出现重复的对象 创建一个 Person 构造函 ...

  6. SSH整合!!!!不会的赶紧来

    说到SSH也就是Spring,struts2,Hibernate三大框架那么咱们话不多说开始搭建吧 首先我们这个项目的目的是应用三大框架将一个商品的信息保存到数据库中. 第一步就是创建Web项目,引入 ...

  7. window.onload、DOMContentLoaded和$(document).ready()

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C ...

  8. Python常用函数、方法、模块记录

    常用函数: 1.pow():乘方 2.abs():绝对值 3.round():四舍五入 4.int():转换为整数 5.input():键盘输入(会根据用户的输入来做类型的转换) raw_input( ...

  9. SQL取出 所有周六 周日的日期

    SQL取出 所有周六 周日的日期 create table SatSun([id] int identity(1,1),[date] datetime,[weekday] char(6)) go de ...

  10. dsfgsdfg

    两融余额止跌回升,金融股回落飘绿,千股涨停续演,沪指收复4000点未果涨逾2% 相关报道 [今日收盘]灾后重建激情抢筹 大盘两日反弹500点 [今日收盘]沪指涨近6%重回3700点 未停牌个股九成涨停 ...