欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Golang搭建grpc環(huán)境的流程步驟

 更新時間:2024年03月07日 09:13:43   作者:聽我一言  
這篇文章主要給大家介紹了Golang搭建grpc環(huán)境的流程步驟,文中通過圖文結(jié)合的方式給大家講解的非常詳細(xì),對大家了解Golang搭建grpc環(huán)境有一定的幫助,需要的朋友可以參考下

簡介

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

代理

沒有代理國內(nèi)環(huán)境下載不了庫

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

阿里云代理(運(yùn)行g(shù)rpc時下載包出現(xiàn)報(bào)錯 ):
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct

環(huán)境搭建步驟

1. 安裝Golang(略)

2. 設(shè)置GOPATH

默認(rèn)GOPATH是 %USERPROFILE%\go,%USERPROFILE% 一般是 C:\Users\Administrator, 執(zhí)行 go env GOPATH 可以查看到當(dāng)前設(shè)置的GOPATH, 可以通過修改環(huán)境變量修改GOPATH, 例如下圖

在這里插入圖片描述

3. 設(shè)置代理

	執(zhí)行如下指令, 設(shè)置代理
	go env -w GOPROXY=https://goproxy.cn,direct

4. 安裝grpc組件

參考 GRPC官方文檔,
執(zhí)行如下指令安裝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工具來進(jìn)行調(diào)用, 由于我已經(jīng)安裝了, 所以這里提供一下下載路徑, 再自行研究一下
Protoc 工具下載

6. 編譯grpc示例

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

執(zhí)行示例
cd grpc-go/examples/helloworld
go run greeter_server/main.go ## 執(zhí)行服務(wù)端
go run go run greeter_client/main.go ## 執(zhí)行客戶端

輸出信息

Server :

在這里插入圖片描述

Client :

在這里插入圖片描述

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

4~5步下載了工具還沒有使用上, 因?yàn)間rpc-go的代碼示例已經(jīng)生成好了,在xx\grpc-go\examples\helloworld\helloworld 目錄下, 如下圖

在這里插入圖片描述

將 helloworld.pb.go 和 helloworld_grpc.pb.go 刪除或移到備份目錄, 我們使用前面下載的工具重新生成一次
執(zhí)行指令如下, 生成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
執(zhí)行指令如下, 生成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

再次執(zhí)行Server, 出現(xiàn)錯誤如下

在這里插入圖片描述

原因是剛剛生成的文件路徑不是在helloworld/helloworld下, 而是生成到下圖路徑了,
Note: 之所以如此是因?yàn)?helloworld.proto里的這一句
option go_package = “google.golang.org/grpc/examples/helloworld/helloworld”;

在這里插入圖片描述

正確路徑

在這里插入圖片描述

再次執(zhí)行Server,成功

以上就是Golang搭建grpc環(huán)境的流程步驟的詳細(xì)內(nèi)容,更多關(guān)于Golang搭建grpc環(huán)境的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Go中sync.Once源碼的深度講解

    Go中sync.Once源碼的深度講解

    sync.Once是Go語言標(biāo)準(zhǔn)庫中的一個同步原語,用于確保某個操作只執(zhí)行一次,本文將從源碼出發(fā)為大家詳細(xì)介紹一下sync.Once的具體使用,x希望對大家有所幫助
    2025-01-01
  • Go語言同步等待組sync.WaitGroup結(jié)構(gòu)體對象方法詳解

    Go語言同步等待組sync.WaitGroup結(jié)構(gòu)體對象方法詳解

    這篇文章主要為大家介紹了Go語言同步等待組sync.WaitGroup結(jié)構(gòu)體對象方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • golang如何操作csv文件詳解

    golang如何操作csv文件詳解

    這篇文章主要給大家介紹了關(guān)于golang如何操作csv文件的相關(guān)資料,以及使用Golang導(dǎo)出CSV數(shù)據(jù)并解決數(shù)據(jù)亂碼問題的解決辦法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • Go net/http/pprof分析內(nèi)存泄露及解決過程

    Go net/http/pprof分析內(nèi)存泄露及解決過程

    這篇文章主要介紹了Go net/http/pprof分析內(nèi)存泄露及解決過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Go Web框架gin的入門教程

    Go Web框架gin的入門教程

    本篇文章主要介紹了Go Web框架gin的入門教程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Golang Gin框架中間件的用法詳解

    Golang Gin框架中間件的用法詳解

    中間件是Gin框架中的一個核心概念,它允許開發(fā)者在處理HTTP請求的過程中插入自定義的鉤子函數(shù),從而實(shí)現(xiàn)諸如日志記錄、身份驗(yàn)證、權(quán)限控制等公共邏輯,本文將結(jié)合實(shí)際案例,詳細(xì)講解Gin框架中間件的用法
    2024-10-10
  • 使用Go語言中的Context取消協(xié)程執(zhí)行的操作代碼

    使用Go語言中的Context取消協(xié)程執(zhí)行的操作代碼

    在 Go 語言中,協(xié)程(goroutine)是一種輕量級的線程,非常適合處理并發(fā)任務(wù),然而,如何優(yōu)雅地取消正在運(yùn)行的協(xié)程是一個常見的問題,本文將通過一個具體的例子來展示如何使用 context 包來取消協(xié)程的執(zhí)行,需要的朋友可以參考下
    2024-11-11
  • 詳解Go語言RESTful JSON API創(chuàng)建

    詳解Go語言RESTful JSON API創(chuàng)建

    這篇文章主要介紹了詳解Go語言RESTful JSON API創(chuàng)建,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Golang拾遺之指針和接口的使用詳解

    Golang拾遺之指針和接口的使用詳解

    拾遺主要是收集和golang相關(guān)的瑣碎知識,這篇文章主要是為大家整理了Golang中指針和接口的使用方法,文中的示例代碼講解詳細(xì),需要的可以參考一下
    2023-02-02
  • Golang并發(fā)利器sync.Once的用法詳解

    Golang并發(fā)利器sync.Once的用法詳解

    在某些場景下,我們需要初始化一些資源。有時會采用延遲初始化的方式,在真正需要資源的時候才進(jìn)行初始化。在這種情況下,Go語言中的sync.Once提供一個優(yōu)雅且并發(fā)安全的解決方案,本文將對其進(jìn)行詳細(xì)介紹
    2023-04-04

最新評論