首页 > 其他分享 >Go 生成protobuf示例

Go 生成protobuf示例

时间:2023-11-05 19:36:35浏览次数:30  
标签:protoc protobuf 示例 grpc proto go Go

先安装好工具

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

下载安装protoc

wget https://github.com/protocolbuffers/protobuf/releases/download/v25.0/protoc-25.0-linux-x86_64.zip

# 解压后将protoc二进制文件设置到环境变量里面

测试

proto代码

syntax = "proto3";
option go_package = "../proto";
message HelloRequest {
    string name = 1;  //
    int32 age = 2;

}

生成

protoc --go_out=. --go-grpc_out=. helloword.proto

image

标签:protoc,protobuf,示例,grpc,proto,go,Go
From: https://www.cnblogs.com/postkarte/p/17810933.html

相关文章

  • java基础:再哈希法解决哈希冲突代码示例
    再哈希法(Rehashing)是解决哈希冲突的另一种方法。它与开放定址法不同,再哈希法使用多个哈希函数来确定冲突元素的位置,而不是在同一个哈希表中进行探测。下面是一个使用再哈希法解决哈希冲突的示例代码:publicclassRehashingHashTable{privateEntry[]table;privateint......
  • Go语言使用range修改值,需要使用切片的指针 &slice[index]
    由于Value是值拷贝的,并非引用传递,所以直接改Value是达不到更改原切片值的目的的,需要通过&slice[index]获取真实的地址packagemainimport("fmt")funcmain(){ slice:=[]int{10,20,30,40} forindex,value:=rangeslice{ fmt.Printf("Value=%d,value-addr......
  • 【Go 编程实践】从零到一:创建、测试并发布自己的 Go 库
    为什么需要开发自己的Go库在编程语言中,包(Package)和库(Library)是代码组织和复用的重要工具。在Go中,包是代码的基本组织单位,每个Go程序都由包构成。包的作用是帮助组织代码,提供封装和代码复用的机制。Go包可以包含函数、类型、变量和常量等,这些元素可以被其他包引用和使用。......
  • 【Go 编程实践】从零到一:创建、测试并发布自己的 Go 库
    为什么需要开发自己的Go库在编程语言中,包(Package)和库(Library)是代码组织和复用的重要工具。在Go中,包是代码的基本组织单位,每个Go程序都由包构成。包的作用是帮助组织代码,提供封装和代码复用的机制。Go包可以包含函数、类型、变量和常量等,这些元素可以被其他包引用和使用。......
  • go语言Context应用全讲解
    Go语言Context应用全攻略:异步编程利器原创 Go先锋 Go先锋 2023-11-0511:42 发表于广东收录于合集#Go语言包32个Go先锋读完需要17分钟速读仅需6分钟  概述在Go语言中,Context(上下文)是一个非常重要的概念,特别是在处理请求时。允许在请求的整个生命周期......
  • 复习 Golang Chapter 2 原始类型和声明
    内建类型的使用变量与常量的使用以及惯例写一些代码,看一看如何"最好"的运用他们,关于什么是“最好”,这里有一个最主要的原则:让你的意图能够透过代码清晰的表示出来内建类型Built-inTypes惯用法是跨语言使用者的障碍,学一门新的编程语言,主要是向这个方向靠拢(可通过开源代码和......
  • 使用Gorm进行高级查询
    使用Gorm进行高级查询原创 Slagga 技术的游戏 2023-11-0422:42 发表于广东收录于合集#Golang83个深入探讨GORM的高级查询功能,轻松实现Go中的数据检索高效的数据检索是每个应用程序性能的核心。GORM,强大的Go对象关系映射库,不仅扩展到基本的CRUD操作,还提供了高级的......
  • [ABC327G] Many Good Tuple Problems 题解
    题意对于一对长度均为\(M\)且元素值在\(\left[1,N\right]\)之间的序列\((S,T)\),定义其为好的当且仅当:存在一个长度为\(N\)的\(01\)序列\(X\),使得其满足如下条件:对于任意\(i\in\left[1,M\right]\),有\(X_{S_i}\neqX_{T_i}\)。给定\(N,M\),求在所有可......
  • Django 表单处理:从前端到后台的全流程指南
    Django作为一个高级PythonWeb框架,它的表单处理能力强大,可以有效地处理用户输入,进行数据验证以及错误处理。本文将详细介绍如何在Django中创建、处理和使用表单。1.Django表单系统的核心Django的表单系统处理表单的生命周期,涉及以下核心部分:表单类:定义表单的结构和行为。验......
  • 2023-11-04:用go语言,如果n = 1,打印 1*** 如果n = 2,打印 1*** 3*** 2*** 如果n = 3,打印
    2023-11-04:用go语言,如果n=1,打印1***如果n=2,打印1***3***2***如果n=3,打印1***3***2***4***5***6***如果n=4,打印1***......