golang——win10环境protobuf的使用

1、protobuf配置

(1)https://github.com/protocolbuffers/protobuf/releases

(2)选择适合的版本:protoc-3.8.0-win64.zip

(3)解压后将文件 protoc.exe 所在目录添加到环境变量 Path

(4)检查protobuf版本,CMD命令窗口执行:protoc --version

2、proto文件处理

(1)获取相关库

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

(2)编写test.proto文件

//指定版本
syntax = "proto3";
//包名
package pb;
//课程
message Course{
    int32 id = 1;
    string name = 2;
}
//学生
message Student{
    int32 id = 1;
    string name = 2;
    repeated Course courses = 3;
}

(3)生成文件命令:protoc --go_out=. test.proto

命令执行完,会在test.proto同级目录下生成test.pb.go文件

3、使用

package main

import (
	"fmt"
	"log"
	"test/protobuf/pb"

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

func main() {
	course1 := pb.Course{
		Id:   *proto.Int32(1),
		Name: *proto.String("Golang"),
	}
	course2 := pb.Course{
		Id:   *proto.Int32(2),
		Name: *proto.String("Python3"),
	}
	stu := pb.Student{
		Id:      *proto.Int32(1),
		Name:    *proto.String("笃志弘毅"),
		Courses: []*pb.Course{&course1, &course2},
	}
	//序列化
	data, err := proto.Marshal(&stu)
	if err != nil {
		log.Fatalln("proto.Marshal err:", err)
	}
	fmt.Println(data)
	//反序列化
	var stuNew pb.Student
	err = proto.Unmarshal(data, &stuNew)
	if err != nil {
		log.Fatalln("proto.Unmarshal err:", err)
	}
	fmt.Println(stuNew)
}

// 输出
// [8 1 18 12 231 172 131 229 191 151 229 188 152 230 175 133 26 10 8 1 18 6 71 111 108 97 110 103 26 11 8 2 18 7 80 121 116 104 111 110 51]
// {1 笃志弘毅 [id:1 name:"Golang"  id:2 name:"Python3" ] {} [] 0}

原文地址:https://www.cnblogs.com/dzhy/p/11100504.html

时间: 2024-11-06 22:17:56

golang——win10环境protobuf的使用的相关文章

win10环境下ue4使用游戏手柄输入

忙里偷闲,趁着源码编译需要好久的时间,把这篇博客补上,来说说怎么在win10环境中,ue4使用游戏手柄输入,也就是gamepad输入. 1.我用的手柄是rapoo v10 这款手柄,连接无线USB之后,在"控制面板\硬件和声音\设备和打印机"里找关于手柄手柄的设备,然后输入,可以看到一些值的反馈. 2.需要下载 x360ce.exe 3.下载vld-2.5-setup.exe,我也忘记这是什么东西了. 4.下载手柄驱动,用什么下什么. 5.在手柄接入后,打开se360x,需要联网下载一

win10 环境 gitbash 显示中文乱码问题处理

gitbash 是 windows 环境下非常好用的命令行终端,可以模拟一下linux下的命令如ls / mkdir 等等,如果使用过程中遇到中文显示不完整或乱码的情况,多半是因为编码问题导致的,修改文本编码即可.操作过程如下: 问题描述 gitbash 在 win10 环境下显示中文出现乱码 处理办法 问题是由于编码不一致造成的,修改稿界面文字编码即可. 操作 1/问题回顾 2/控制台单击右键,选择options选项 3/设置文本本地语言为 zh_CN ,编码选择 GBK, 随后单击OK保存

Golang开发环境搭建-Vim篇

Golang开发环境搭建-Vim篇 转自:http://tonybai.com/2014/11/07/golang-development-environment-for-vim/ 虽说sublimetext3+gosublime+gocode是目前较为 流行的Golang开发环境组合,但作为一名VIMer,没有一套得心应手的Vim for Golang dev心里总是过不去的.Golang虽然年轻,但即便是从Go 1版本发布(2012年3月28日)算起,掐指算来也有小三年了.全世界的开发者已经

PyCharm Golang开发环境搭建(最方便快捷的GO语言开发环境)

IntelliJ太牛了.为了配置Go语言开发环境,折腾了半天,下IDE(Sublime Text,IntelliJ Idea),然后装Go插件.装Go插件还要下载插件项目源码,编译等等,Sublime还要输入python脚本,粘进去通不过,头疼. 突然悟出一个道理,如果你觉得当前手上的事情变得非常痛苦的时候,不是事情本身的问题,是你没找到好的解决方法的问题,或者说,“不是事情太痛苦,是你太笨了”. 在不停的装插件,尝试过程中,突然发现,PyCharm跟Idea一样,也是支持Go插件的,立马悟到,

基础知识 - 在 Ubuntu 14.04 中配置 Sublime Text 3 的 Golang 开发环境

1.下载 golang 并解压(这里以解压到 $HOME/golang/ 目录为例): http://www.golangtc.com/download 2.创建 GoPath 相关目录(这里以 $HOME/golang/projects/ 目录为例): mkdir ~/golang mkdir ~/golang/projects mkdir ~/golang/projects/3rdparty mkdir ~/golang/projects/3rdparty/bin mkdir ~/golan

Windows下visual studio code搭建golang开发环境

Windows下visual studio code搭建golang开发环境 序幕 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org),导致一些包无法安装,最终会导致环境搭建失败,跟据这个教程几步,我们将可以快速的构建golang的开发环境. 开发环境: 一.安装 这里我用需要安装一些工具: 1.Visual Studio Code 1.0.0 2.Golang下载 这里我使用的是Go1.6. 3.git下载 这一步跟建环境没什么关系, 但是之后要引

转:windows 下的 eclipse安装goclipse 配置golang开发环境

windows 下的 eclipse安装goclipse 配置golang开发环境 windows 下的 eclipse安装goclipse 配置golang开发环境,捎带介绍了LiteIDE golang的配置 1. 下载goclipse eclipse plugins http://pan.baidu.com/s/1c0weLgO 安装完插件后,重启可以看到eclipse的右上角有个golang logo , 地鼠图标: 2. 下载golang,调试tools 下载Golang Window

Golang开发环境搭建(Notepad++、LiteIDE两种方式以及martini框架使用)

本文介绍两种Golang的开发环境一种基于notepad++.另一种基于liteide. 1.下载Golang语言的pkg:http://golangtc.com/download 直接点击安装,一路next. 2.程序员必备神器notepad++开发Golang环境很简单 一次点击:插件->Plugin Manger->Show Plugin Manger,安装插件GOnpp,重启notepad++. 新建文件命名为hello.go用notepad++打开,拷贝如下代码: package m

SDL2.0.4+VS2015+win10 环境配置

SDL2.0.4+VS2015+win10 环境配置 第一个是源码 第二个就是配置windows 所需要的东西 将这两个下载下来,分别解压出来,放到你想放的目录,如下图,我这里放到了Program File文件夹中 我们可以看看里面的东西 配置vs2015所需要的东西我主要有个 一:include文件夹 二:lib文件夹 有了想要的东西下面就可以开始配置vs2015了 1.新建一个工程,工程名随便叫 这里就不截图了,配置请看图 这里就是指定include的目录 这里就是指定lib的目录 在依赖库