IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 一、定义 protobuf 消息并生成 Go 代码 -> 正文阅读

[开发工具]一、定义 protobuf 消息并生成 Go 代码

一、新建一个pcbook项目

在这里插入图片描述

二、创建proto文件

  1. 创建一个名为protoc的新文件夹,并在其下添加一个processor_message.proto文件
    在这里插入图片描述

  2. 在processor_message.proto文件文件中定义CPU信息

    • 用string类型定义CPU的品牌与名字
    • 用无符号整型定义CPU里的内核与线程,因为他们不能为负数,所以使用无符号整型uint32
    • 用double类型定义最小和最大频率
    • 使用option go_package定义,生成的go文件的包名为pcbook
syntax = "proto3";

option go_package ="./;pcbook";

message CPU {
  string brand = 1;
  string name = 2;
  uint32 number_cores = 3;
  uint32 number_threads = 4;
  double min_ghz = 5;
  double max_ghz = 6;
}

三、生成 Go 代码

3.1、安装protobuf

3.1.1、从源码安装

  1. 安装protobuf的前置环境,命令:sudo apt-get install autoconf automake libtool curl make g++ unzip
  2. 安装protobuf的源文件,命令:git clone https://github.com/protocolbuffers/protobuf.git
  3. 进入到protobuf目录,命令:cd /home/tsb/Downloads/protobuf
  4. clone子模块的依赖,命令:git submodule update --init --recursive
  5. 执行自动生成的shell脚本,命令:./autogen.sh
  6. 配置文件shell脚本,命令:./configure
  7. 编译,命令:make
  8. 编译检查,命令:make check
  9. 编译安装,命令:sudo make install
  10. 刷新,命令:sudo ldconfig
  11. 查看安装结果,命令:protoc --version

3.1.2、直接安装

  1. 安装命令:sudo apt install -y protobuf-compiler
  2. 验证安装,命令:protoc --version

3.2、安装grpc

  1. 在pcbook目录下执行,命令:go get -u google.golang.org/grpc
  2. 在pcbook目录下执行命令
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.26
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.1
  1. 设置环境变量:export PATH="$PATH:$(go env GOPATH)/bin"

3.3、生成go代码

  1. 创建一个名为的新文件夹pb来存储生成的 Go 代码
    在这里插入图片描述

  2. 生成go代码命令:protoc --proto_path=proto --go_out=pb --go-grpc_out=pb proto/*.proto,将生成的代码存放进pb文件夹里

四、创建Makefile自动化生成

  1. 在pcbook目录下创建Makefile文件
  2. 编写Makefile文件
gen:
	protoc --proto_path=proto --go_out=pb --go-grpc_out=pb proto/*.proto

clean:
	rm pb/*.go 
-proto_path=proto --go_out=pb --go-grpc_out=pb proto/*.proto

clean:
	rm pb/*.go 
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 21:12:07  更:2022-03-21 21:13:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:32:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码