溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Go?gRPC環境如何安裝

發布時間:2022-06-16 10:31:48 來源:億速云 閱讀:165 作者:zzz 欄目:開發技術

這篇“Go gRPC環境如何安裝”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Go gRPC環境如何安裝”文章吧。

前言

gRPC 是一個高性能、開源和通用的 RPC 框架,面向移動和 HTTP/2 設計,帶來諸如雙向流、流控、頭部壓縮、單 TCP 連接上的多復用請求等特。這些特性使得其在移動設備上表現更好,更省電和節省空間占用。

在 gRPC 里客戶端應用可以像調用本地對象一樣直接調用另一臺不同的機器上服務端應用的方法,使得您能夠更容易地創建分布式應用和服務。

gRPC 默認使用 protocol buffers,這是 Google 開源的一套成熟的結構數據序列化機制,它的作用與 XML、json 類似,但它是二進制格式,性能好、效率高(缺點:可讀性差)。

安裝 protobuf

1.下載

根據自身電腦的操作系統,選擇最新的releases版本下載

Go?gRPC環境如何安裝

2.解壓后在bin目錄找到protoc.exe,然后把它復制到GOBIN目錄下

一般操作是把protoc.exe所在的目錄配到環境變量里,這里直接把protoc.exe復制到GOBIN目錄下,前提是環境變量已經配置了GOBIN環境變量。

3.打開cmd,運行protoc --version

成功打印當前版本信息證明安裝成功了。

安裝相關包

安裝 golang 的proto工具包

go get -u github.com/golang/protobuf/proto

安裝 goalng 的proto編譯支持

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

安裝 gRPC 包

go get -u google.golang.org/grpc

創建并編譯proto文件

1.新建proto文件夾,在里面新建simple.proto文件

 syntax = "proto3";// 協議為proto3
package proto;
// 定義發送請求信息
message SimpleRequest{
    // 定義發送的參數
    // 參數類型 參數名 標識號(不可重復)
    string data = 1;
}
// 定義響應信息
message SimpleResponse{
    // 定義接收的參數
    // 參數類型 參數名 標識號(不可重復)
    int32 code = 1;
    string value = 2;
}
// 定義我們的服務(可定義多個服務,每個服務可定義多個接口)
service Simple{
    rpc Route (SimpleRequest) returns (SimpleResponse){};
}

2.編譯proto文件

cmd進入simple.proto所在目錄,運行以下指令進行編譯

protoc --go_out=plugins=grpc:./ ./simple.proto

VSCode-proto3插件介紹

使用VSCode的朋友看這里,博主介紹一個VSCode插件,方便對編輯和編譯proto文件。

  • 擴展程序中搜索 VSCode-proto3,然后點擊安裝。

  • 在設置中找到setting.json文件,添加vscode-proto3插件配置

   // vscode-proto3插件配置
    "protoc": {
        // protoc.exe所在目錄
        "path": "C:\\Go\\bin\\protoc.exe",
        // 保存時自動編譯
        "compile_on_save": true,
        "options": [
            // go編譯輸出指令
            "--go_out=plugins=grpc:."
        ]
    }

每次編輯完proto文件后,只需要保存,它就會自動幫助完成編譯。而且代碼有高亮顯示,代碼自動補全,代碼格式化等功能。

Go?gRPC環境如何安裝

以上就是關于“Go gRPC環境如何安裝”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女