首页 > 其他分享 >创建一个能跑的go-gprc

创建一个能跑的go-gprc

时间:2023-12-24 15:33:46浏览次数:40  
标签:pb protoc grpc 创建 gprc 编译 go hello

go-gRPC

创建项目

创建项目gprc,并新建文件夹server、client、pb
在pb文件下创建文件hello_grpc.proto并写入如下内容

syntax = "proto3";

option go_package="./;hello_grpc";

package hello_grpc;

message Req {
  string message = 1;
}

message Res {
  string message = 1;
}

service HelloG {
  rpc SayHi(Req) returns (Res);
}

安装gRPC编译工具

详细信息参考grpc官网

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

安装protoc

protoc下载地址

打开protoc下载地址, 根据你的系统下载相应的包,并将解压后的bin文件夹中的protoc放入$GOPATH/bin

安装完成后将$GOPATH/bin添加到环境变量中

安装go-gRPC库

go get google.golang.org/grpc

编译hello_grpc.protoc文件

由于编译命令较长,可以在pb目录下新建build.bat文件存放编译命令

protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative ./hello_grpc.proto

image
最后的./hello_grpc.proto改为你的.proto文件的位置即可

项目结构

image

编译

cd pb
./build.bat

编译完成后会自动生成两个文件

hello_grpc.pb.gohello_grpc_grpc.pb.go

至此项目结构为

image

标签:pb,protoc,grpc,创建,gprc,编译,go,hello
From: https://www.cnblogs.com/mr-wushuang/p/17924428.html

相关文章

  • CPP创建子线程
     #include<iostream>#include<thread>usingnamespacestd;structMyStruct{inta=0;strings="abc雷";};//线程入口voidproc(MyStruct&a){for(intm=0;m<50;m++){if(a.a==0)......
  • Day37 数组的定义、声明和创建
    数组的定义数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们.​(数组的下标是从0开始的!!!!!!)数组的声明和创建1.首先必......
  • React系列:react项目的创建到可以编写业务的一些列初始化
    ......
  • linux-网络接口的绑定与组合(bond 网桥的创建)
    网络接口的绑定一、虚拟接口将多个网络逻辑接口连接在一起:1、实现冗余、避免故障2、提高吞吐率原理:非在物理网卡上设置、而是通过多个物理网卡聚合成一个虚拟的网卡(外部网络访问的就是本机的虚拟网卡的地址)二、通过networkmanger实现绑定模式balanceactive-backup--......
  • Go 语言学习指南:变量、循环、函数、数据类型、Web 框架等全面解析
    学习基础知识掌握Go语言的常见概念,如变量、循环、条件语句、函数、数据类型等等。深入了解Go基础知识的好起点是查阅Go官方文档文章链接:Go编程语言详解:用途、特性、与Python和C++的比较基本语法了解Go语言的基本语法,包括Go程序的执行方式、包引入、主函数等Go......
  • Go 语言学习指南:变量、循环、函数、数据类型、Web 框架等全面解析
    学习基础知识掌握Go语言的常见概念,如变量、循环、条件语句、函数、数据类型等等。深入了解Go基础知识的好起点是查阅Go官方文档文章链接:Go编程语言详解:用途、特性、与Python和C++的比较基本语法了解Go语言的基本语法,包括Go程序的执行方式、包引入、主函数等Go......
  • 无涯教程-PostgreSQL - 创建表(Create)
    PostgreSQLCREATETABLE语句用于在任何给定数据库中创建一个新表。CREATETABLE语句的基本语法如下-CREATETABLEtable_name(column1datatype,column2datatype,column3datatype,.....columnNdatatype,PRIMARYKEY(oneormorecolumns));CRE......
  • Windows下升级go版本过程详解
    安装首次安装需要在官网下载msi安装包,安装完后golang会自动设置环境变量。在命令行可以使用goversion查看版本信息。后续如果需要升级go版本,怎么做?一种通用的办法是在官网下载列表下载对应的msi安装包下载。1https://go.dev/dl/新版本会覆盖旧版本,如果只是想使用指定版......
  • 无涯教程-PostgreSQL - 创建数据库
    本章讨论如何在PostgreSQL中创建新数据库,PostgreSQL提供了两种创建新数据库的方式-使用SQL命令CREATEDATABASE。使用createdb一个命令行可执行文件。使用CREATE命令该命令将从PostgreSQLShell提示符创建数据库,但是您应该具有创建数据库的适当特权。CREATEDATABASE语句......
  • Gin中使用jwt-go实现JWT鉴权登陆
    在Go语言中,JWT(JSONWebToken)鉴权可以使用第三方库来实现,比如jwt-go。库的介绍和使用可见文档:jwtpackage-github.com/golang-jwt/jwt/v5-GoPackages创建JWT令牌在服务器中,可以使用以下代码创建JWT令牌packagemiddlewareimport("fmt""github.com/gin-go......