Golang搭建grpc环境的流程步骤

 更新时间:2024年03月07日 09:13:43   作者:听我一言  
这篇文章主要给大家介绍了Golang搭建grpc环境的流程步骤,文中通过图文结合的方式给大家讲解的非常详细,对大家了解Golang搭建grpc环境有一定的帮助,需要的朋友可以参考下

简介

OS : Windows 11 
Golang 版本: go1.22.0
grpc : 1.2
protobuffer: 1.28

代理

没有代理国内环境下载不了库

七牛CDN (试过可用)
go env -w GOPROXY=https://goproxy.cn,direct

阿里云代理(运行grpc时下载包出现报错 ):
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct

环境搭建步骤

1. 安装Golang(略)

2. 设置GOPATH

默认GOPATH是 %USERPROFILE%\go,%USERPROFILE% 一般是 C:\Users\Administrator, 执行 go env GOPATH 可以查看到当前设置的GOPATH, 可以通过修改环境变量修改GOPATH, 例如下图

在这里插入图片描述

3. 设置代理

	执行如下指令, 设置代理
	go env -w GOPROXY=https://goproxy.cn,direct

4. 安装grpc组件

参考 GRPC官方文档,
执行如下指令安装proto buffer和grpc的golang编译器
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2

安装之后GOPATH下就包含你安装的包了, 如下图

在这里插入图片描述

5. 下载protoc工具

上一个步骤只是下载了 proto buffer和grpc的golang编译器, 也可以说只是两个插件, 还需要protoc工具来进行调用, 由于我已经安装了, 所以这里提供一下下载路径, 再自行研究一下
Protoc 工具下载

6. 编译grpc示例

下载GRPC源码
git clone -b v1.62.0 --depth 1 https://github.com/grpc/grpc-go

执行示例
cd grpc-go/examples/helloworld
go run greeter_server/main.go ## 执行服务端
go run go run greeter_client/main.go ## 执行客户端

输出信息

Server :

在这里插入图片描述

Client :

在这里插入图片描述

7. 使用proto工具生成golang支持

4~5步下载了工具还没有使用上, 因为grpc-go的代码示例已经生成好了,在xx\grpc-go\examples\helloworld\helloworld 目录下, 如下图

在这里插入图片描述

将 helloworld.pb.go 和 helloworld_grpc.pb.go 删除或移到备份目录, 我们使用前面下载的工具重新生成一次
执行指令如下, 生成proto buffer的golang支持
D:\Softwares\Paths\msys64\mingw64\bin\protoc.exe --plugin=protoc-gen-go=D:/Softwares/Paths/Golang/bin/protoc-gen-go.exe --go_out=. ./helloworld.proto
执行指令如下, 生成grpc的golang支持
D:\Softwares\Paths\msys64\mingw64\bin\protoc.exe --plugin=protoc-gen-go-grpc=D:/Softwares/Paths/Golang/bin/protoc-gen-go-grpc.exe --go-grpc_out=. ./helloworld.proto

再次执行Server, 出现错误如下

在这里插入图片描述

原因是刚刚生成的文件路径不是在helloworld/helloworld下, 而是生成到下图路径了,
Note: 之所以如此是因为 helloworld.proto里的这一句
option go_package = “google.golang.org/grpc/examples/helloworld/helloworld”;

在这里插入图片描述

正确路径

在这里插入图片描述

再次执行Server,成功

以上就是Golang搭建grpc环境的流程步骤的详细内容,更多关于Golang搭建grpc环境的资料请关注脚本之家其它相关文章!

相关文章

  • Go中数组传参的几种方式小结

    Go中数组传参的几种方式小结

    本文主要介绍了Go中数组传参的几种方式小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • go语言实现markdown解析库的方法示例

    go语言实现markdown解析库的方法示例

    这篇文章主要介绍了go语言实现markdown解析库的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Go中的动态速率限制有效控制流量

    Go中的动态速率限制有效控制流量

    这篇文章主要为大家介绍了Go中的动态速率限制有效控制流量,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • 一文详细介绍golang中.()类型断言的使用方法

    一文详细介绍golang中.()类型断言的使用方法

    Golang是一门非常流行的编程语言,在很多领域都有着广泛的应用,在开发过程中,很多时候我们需要将函数作为参数传递给其他函数,这时候就需要用到golang中的.()用法,本文将详细介绍golang中.()的使用方法,需要的朋友可以参考下
    2023-08-08
  • 纯Go语言实现百万级数据高效导出Excel和CSV实战指南

    纯Go语言实现百万级数据高效导出Excel和CSV实战指南

    这篇文章主要为大家详细介绍了如何通过纯Go语言实现百万级数据高效导出Excel和CSV的相关知识,文中的示例代码讲解详细,需要的小伙伴可以了解下
    2025-09-09
  • 一文详解Golang 定时任务库 gron 设计和原理

    一文详解Golang 定时任务库 gron 设计和原理

    这篇文章主要介绍了一文详解Golang 定时任务库 gron 设计和原理,gron是一个比较小巧、灵活的定时任务库,可以执行定时的、周期性的任务。gron提供简洁的、并发安全的接口
    2022-08-08
  • Go语言实现图片快递信息识别的简易方法

    Go语言实现图片快递信息识别的简易方法

    这篇文章主要为大家介绍了Go语言实现图片快递信息识别的简易方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Go语言通过WaitGroup实现控制并发的示例详解

    Go语言通过WaitGroup实现控制并发的示例详解

    Channel能够很好的帮助我们控制并发,但是在开发习惯上与显示的表达不太相同,所以在Go语言中可以利用sync包中的WaitGroup实现并发控制,本文就来和大家详细聊聊WaitGroup如何实现控制并发
    2023-01-01
  • 在Golang中执行Shell命令的教程详解

    在Golang中执行Shell命令的教程详解

    在本教程中,我们将学习如何在 Golang 中执行shell命令(如 ls、mkdir 或 grep ),我们还将学习如何通过 stdin 和 stdout 传递 I/O 到正在运行的命令,以及管理长时间运行的命令,感兴趣的同学可以借鉴一下
    2023-05-05
  • 详解Golang中gcache模块的基本使用

    详解Golang中gcache模块的基本使用

    这篇文章主要通过结合商业项目的使用场景,为大家介绍了gcache的基本使用、缓存控制以及淘汰策略。使用gcache做缓存处理,简单方便易上手
    2022-11-11

最新评论