官网文档地址:

https://go-zero.dev/docs/tasks

这是一个脚手架,用于把proto文件或者api文件转为服务代码。

环境安装分4步(官网文档上有写):

1.安装golang,并设置自己的GOPATH,略

2.安装protobuf,最好从github下载源码编译,并拷贝到本用户的指定目录,然后配置PATH。如果用系统默认的,可能版本不对或者遇到其他问题。

3.安装goctl:

go get -u github.com/zeromicro/go-zero/tools/goctl

4.安装go-zero:

go get -u github.com/zeromicro/go-zero

测试环境是否ok:

生成一个测试用的proto文件:

goctl rpc -o test_service.proto

新生成的 test_service.proto文件内容如下,一个rpc服务,包含一个ping pong调用

生成一个rpc服务框架:

goctl rpc new test_project

生成一个新的目录:test_project

进入这个目录就是一个完整的空服务。

最后,通过修改这个目录下的代码,替换自己的pb代码,编写自己的实现。

总结:goctl 只生成了一个目录结构,后续需要自己修改和编写代码。goctl 做的只是省却了你创建目录、初始化go工程的时间。

随机推荐

  1. Tinyhttpd 源代码初步解读

    Tinyhttpd 是很早以前的一个 web 服务器程序,由 C 语言编写,整个程序十分小巧,源码只有几百行.它一般不适合用于生产环境,因为它很简单,只实现了读取 html 以及 Get / POST ...

  2. 面试题-MyBatis框架

    前言 MyBatis框架部分的题目,是我根据Java Guide的面试突击版本V3.0再整理出来的,其中,我选择了一些比较重要的问题,并重新做出相应回答,并添加了一些比较重要的问题,希望对大家起到一定 ...

  3. 使用 gitee 托管你的 go 模块

    前言 实话实说, github 作为这个球上顶级的代码托管平台, 公司/企业/开发者的认可和参与度是非常高的. 但是因为某些原因 特色墙, 国内使用 github 的体验不是非常好 速度慢 不靠谱同学 ...

  4. 理解tomcat中的BIO、NIO、AIO、ARP

    理解tomcat中的BIO.NIO.AIO.ARP tomcat作为springboot中默认的web容器,了解tomcat的运转可以帮助我们更好的去调整tomcat的参数达到更好的性能 前置知识 I ...

  5. strftime()函数的用法

    strftime()函数的用法 strftime()函数可以把YYYY-MM-DD HH:MM:SS格式的日期字符串转换成其它形式的字符串.strftime()的语法是strftime(格式, 日期/ ...

  6. 【经验】Ubuntu 20.04 ROS2 Foxy安装

    参考博客 ROS2安装 有的地方原博主打错了,还没改过来,我按我自己的改好了. 有的地方比如github和raw.githubusercontent.com访问不了,我替换成能用的镜像源了,只求一键复 ...

  7. 解决uniapp实现ios系统中低功耗蓝牙通讯失败问题

    UniApp 实现 App 连接低功耗蓝牙(BLE)通讯 手头上有一个 uniapp 实现低功耗蓝牙通讯设备的项目,本来 Android 版本没问题已经上线,到了发布测试 iOS 出问题了,连接上了设 ...

  8. WordPress插件:dsdiss-ai-paraphrasing(火山引擎版)文章伪原创 !一键创作!升级!

    本站原创!<文章伪原创插件(火山引擎版)>是一款基于WordPress开发的高效内容创作工具,依托火山方舟AI模型实现智能化文章伪原创处理.插件支持在后台配置API密钥与模型ID,可灵活设 ...

  9. 编译原理:剖析python编译阶段

    Python编译器 GDB跟踪python编译器的执行过程,在tokenizer.c的tok_get()函数中打一个断点,通过GDB查看python的运行,使用bt命令打印输出,结果如下图所示 整理后 ...

  10. TVM:使用张量表达式处理算子

    在本教程中,把注意力转向 TVM 如何使用张量表达式(Tensor Expression,简称 TE)定义张量计算并应用循环优化.TE 以纯函数式语言描述张量计算(即每个表达式都没有副作用).从 TV ...