iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > GO >Goland中Protobuf的安装、配置和使用
  • 559
分享到

Goland中Protobuf的安装、配置和使用

2024-04-02 19:04:59 559人浏览 独家记忆
摘要

目录引言1、安装protobuf编译器2、下载protobuf的golang支持库,安装protoc-gen-Go3、protobuf使用示例引言 本文记录了Mac环境下protob

引言

本文记录了Mac环境下protobuf的编译安装,并通过一个示例来演示proto自动生成go代码。

本文使用的mac os 12.3系统,不建议使用homebrew安装,系统版本太高,会安装报错,所以自己下载新版压缩包编译构建安装。

1、安装protobuf编译器

在 官方GitHub 选择适合自己系统的Proto编译器程序进行下载安装

本文使用的mac os 12.3系统,不建议使用homebrew安装,系统版本太高,会报错,所以自己下载压缩包构建安装。

  • 下载地址:链接: https://pan.baidu.com/s/1NIMErRKrP3-DNmvA8SgKxg  提取码: 27av 

如需压缩包请在评论区留言。

2.在/usr/local/下新建文件夹protobuf

3.将下载文件拷贝到:/usr/local/protobuf/

4.配置环境变量:

vim ~/.bash_profile

增加:

# protobuf
export PROTOBUF=/usr/local/protobuf
export PATH=$PROTOBUF/bin:$PATH

使环境变量生效:

source ~/.bash_profile

解压:

tar zxvf protobuf-all-3.20.1.tar.gz

cd 进入 protobuf-3.20.1/目录下,在终端按顺序执行:

sudo ./configure
sudo make
sudo make check
sudo make install

执行命令:protoc --version 检查是否安装成功

2、下载protobuf的golang支持库,安装protoc-gen-go

protoc-gen-go用来将 .proto 文件转换为 Golang 代码。

在终端运行命令:

go install google.golang.org/protobuf/cmd/protoc-gen-go@latest

这条命令会安装,并将protoc-gen-go可执行文件复制到$GOBIN文件夹下

注意:原来的github.com/golang/protobuf/protoc-gen-go这个库已经被弃用,我们需要使用 google.golang.org/protobuf 这个库

% go get -u github.com/golang/protobuf/protoc-gen-go
go: module github.com/golang/protobuf is deprecated: Use the "google.golang.org/protobuf" module instead.
go: added github.com/golang/protobuf v1.5.2
go: added google.golang.org/protobuf v1.28.0

3、protobuf使用示例

1、新建一个go moudle项目,创建扩展名为.proto的文件,并编写代码。比如创建idl/user.proto文件,内容如下:

syntax = "proto3";
package user;
option go_package ="./user";
message User {
  int64 user_id = 1;
  string user_name = 2;
  string passWord = 3;
}

2、编译.proto文件,生成Go语言文件。执行如下命令:

protoc --go_out=. ./idl/*.proto

将会自动生成对应的user目录,存放生成的user.pb.go文件:

3、在main程序中使用Protobuf生成的代码:

使用proto将user序列化输出out,在将out反序列化成user

package main
import (
   "encoding/JSON"
   "fmt"
   "github.com/starine/go-protoc-example/user"
   "google.golang.org/protobuf/proto"
   "log"
)
func main() {
   fmt.Println("Hello World. \n")
   user1 := user.User{}
   user1.Password = "123456"
   user1.UserName = "starine"
   bytes, _ := json.Marshal(user1)
   fmt.Println(string(bytes))
   //序列化user结构体数据
   out, err := proto.Marshal(&user1)
   if err != nil {
      log.Fatalln("Failed to encode User:", err)
   }
   fmt.Println(out)
   //反序列化user结构体
   user2 := user.User{}
   err = proto.Unmarshal(out, &user2)
   if err!=nil {
      log.Fatalln("Failed to parse User:", err)
   }
   bytes, _ = json.Marshal(user2)
   fmt.Println(string(bytes))
}

运行结果:

% go run main.go
Hello World. 

{"user_name":"starine","password":"123456"}
[18 7 115 116 97 114 105 110 101 26 6 49 50 51 52 53 54]
{"user_name":"starine","password":"123456"}

Process finished with the exit code 0

到此这篇关于Goland中Protobuf的安装、配置和使用的文章就介绍到这了,更多相关Protobuf安装使用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: Goland中Protobuf的安装、配置和使用

本文链接: https://www.lsjlt.com/news/149805.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Goland中Protobuf的安装、配置和使用
    目录引言1、安装protobuf编译器2、下载protobuf的golang支持库,安装protoc-gen-go3、protobuf使用示例引言 本文记录了mac环境下protob...
    99+
    2024-04-02
  • Vue CLI怎么安装配置和使用
    这篇文章主要介绍“Vue CLI怎么安装配置和使用”,在日常操作中,相信很多人在Vue CLI怎么安装配置和使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue CLI怎...
    99+
    2024-04-02
  • redis安装、配置、使用和redis php扩展安装的步骤
    本篇内容主要讲解“redis安装、配置、使用和redis php扩展安装的步骤”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“redis安装、配置、使用和redi...
    99+
    2024-04-02
  • 怎么在Linux中安装、配置和使用Fish Shell
    这篇文章主要讲解了“怎么在Linux中安装、配置和使用Fish Shell”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Linux中安装、配置和使用Fish Shell”吧!什么是 F...
    99+
    2023-06-16
  • mysql的安装和配置
    MySQL的安装和配置 MySQL是一款开源的关系型数据库管理系统,它可以运行在多种操作系统上,包括Linux、Windows和macOS。 步骤1:下载MySQL软件包 可以从MySQL官网(htt...
    99+
    2023-09-08
    mysql 数据库
  • Kibana的安装和配置
    Kibana是一个开源的数据分析和可视化平台,它与Elasticsearch紧密集成,提供了一个直观的Web界面,使您可以快速地搜索、分析和可视化数据。在下面的步骤中,我将为您介绍如何安装和配置Kibana。         1.安装Jav...
    99+
    2023-09-06
    java elasticsearch 开发语言
  • Goland项目使用gomod配置的详细步骤
    目录Goland 项目创建处理 go.mod总结Goland 项目创建 goland2020.3 及以上 IDE,默认创建的 go 项目 就是使用 gomod 管理! goland2...
    99+
    2023-05-18
    goland设置gomod go mod goland goland配置教程
  • gradle的安装配置及使用
    一、gradle的安装 1.官网下载链接:https://gradle.org/releases/ 1、下载后解压 2、配置环境变量,新建 GRADLE_HOME 环境变量指向你的 Gradle 解压路径 3、将 %GRADLE_H...
    99+
    2023-08-19
    gradle java 开发语言
  • 怎么使用Docker安装phabricator并配置和使用
    这篇文章主要介绍“怎么使用Docker安装phabricator并配置和使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Docker安装phabricat...
    99+
    2024-04-02
  • SQL Server 服务器安装配置和使用
    目录 一、SQL Server概述 1、SQL Server 环境需求 2、SQL Server的特点和组成 (1)SQL Server 特点 (2)SQL Server 基本组成 3、SQL Server 安装需注意 (1)数据文件的存...
    99+
    2023-10-02
    服务器 数据库 运维
  • IIS安装和配置
    1.安装IIS 开始→控制面板→程序→启动或关闭Windows功能→Internet information services可承载的web核心,Internet information servic...
    99+
    2023-09-10
    windows 服务器 IIS
  • 配置中心nacos如何安装使用
    今天小编给大家分享一下配置中心nacos如何安装使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。什么是配置中心用来统一管理...
    99+
    2023-07-04
  • selenium和Firefox的安装配置
    selenium和firefox的安装配置 1.1、Firefox的安装1.2、Firefox驱动geckodriver的安装1.3、geckodriver环境配置两种方式1.3.1、直接添加...
    99+
    2023-09-11
    firefox selenium python
  • MAC 安装配置使用Tomcat
    一、下载安装Tomcat 打开Tomcat官网 选择需要使用到的Tomcat版本 下载指定版本压缩包,如下图选择tar.gz文件 解压Tomcat压缩包文件 将解压包重命名为To...
    99+
    2023-09-01
    tomcat macos java
  • NTFS-3G的安装和配置
    1. 什么是NTFS-3G    NTFS-3G是一个开源软件,支持在Linux, FreeBSD, Mac OS X, NetBSD, Haiku操作系统下读写NTFS格式的分区。它能快速且安全的操作Windows XP, Windows...
    99+
    2023-01-31
    NTFS
  • 安装配置gunicorn和NGINX的
    博客写得差不多了,打算部署到云上因为速度的关系,不打算部署在AWS上,于是申请了阿里云,环境是上篇文章提到的CentOS 7 64位安装和配置好Python3和MySQL,又稍微了解点web服务器的知识后,打算按这里的方法进行部署,思路是...
    99+
    2023-01-31
    gunicorn NGINX
  • ExceptionLess的安装、配置、使用教程
    目录前言安装邮件配置AspNetCore集成提交错误信息集成日志框架其他语言能用吗?参考资料前言 Exceptionless 是一个开源的实时的日志收集框架,它可以应用在基于 ASP...
    99+
    2024-04-02
  • OSWatcher的安装、配置以及使用
    本篇内容介绍了“OSWatcher的安装、配置以及使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!参考O...
    99+
    2024-04-02
  • MongoDB 2.4.10 安装和配置
    MongoDB 2.4.10 安装和配置准备1. 下载安装文件。   cd /tmp     wget https://www.mong...
    99+
    2024-04-02
  • CentOS7中怎么安装和配置PHP
    在CentOS7中安装和配置PHP可以通过以下步骤完成: 安装PHP:使用yum包管理器安装PHP,可以运行以下命令: sudo...
    99+
    2024-03-04
    CentOS7 PHP
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作