大家好 我是寸铁
总结了一篇Windows11安装go-zero代码生成工具goctl的文章✨
喜欢的小伙伴可以点点关注
背景:goctl 的最早功能是为了解决 GRPC 内网调试问题,大约是在 2019 年,在我们的生产环境中,rpc 是内网隔离的,不可通过外网访问,为了快速去 mock 一些线上 RPC client 的请求,就简单的实现了第一版本的代码生成,主要目的是去访问 RPC Server 做一些调试。
goctl
是 go-zero
的内置脚手架,是提升开发效率的一大利器,可以一键生成代码、文档、部署 k8s
yaml
、dockerfile
等。
沟通,是团队协作进行信息交换的一种形式,沟通的方式有很多种,会议沟通、文档沟通、聊天交流,相信不管是哪种方式,沟通都是团队中最难的一个环节,会议沟通需要占用大量时间,动则半小时起步,文档沟通同样,也会占据大量时间去构思和编写大篇幅的文档,最后可能还没表达出预期目标,线上聊天,需要双方都在线上才能进行信息交换,当然我们这里沟通交换的信息更多是指开发中的一些内容,如接口信息、部署信息等。
有了沟通,那么团队之间的协作的耦合是避免不了的,例如:在前后端开发中,最大的耦合是接口的耦合,前端完成了规定 UI 绘制后,需要等待后端的接口部署到对应环境才能实现功能的调试,在此期间,前端的团队资源就会大大浪费,由此还会导致项目的延期等问题。
除了沟通成本和团队耦合以外,每个团队在进行项目开发时也有很多时间是在做重复的工作,例如:我们在开发一个新的功能时,需要去定义接口,编写接口文档,编码准备工作,业务开发,model
文件,编写 Dockerfile
文件,编写 k8s yaml
文件,在这些上面我们可以在每个环节上都有提升的空间,让用户将真正的时间集中在业务开发上。
在之前的开发实践中,经常会出现grpc server
实现不完全的问题,grpc server
实现类经常会出现编译不过的情况;除此之外,数据库查询层代码开发,sql
语句的编写多参,少参,参数错位,在编译过程中很难发现,一般可能到 QA 环节才能发现,更甚者会导致线上问题。
goctl这么强大的开发工具,马上用起来,先把他安装好,怎么快速安装,寸铁手把手带你安装!
命令行下安装goctl
输入下面命令:
go install github.com/zeromicro/go-zero/tools/goctl@latest
说明是安装goctl
的代理没有开启,开启一下代理即可。
go env -w GOPROXY=https://goproxy.cn,direct
接着再次输入如下命令:
go install github.com/zeromicro/go-zero/tools/goctl@latest
会出现下面的结果:
代表正常下载成功
测试一下安装是否成功
在命令行中输入goctl
出现如下的结果,不要慌,寸铁带你解决这个问题!
配置环境变量
先找到对应存放goctl
的文件位置
我这里使用的是Everything
软件去查找对应的位置
右键点击打开路径
之后就是进入到文件所在的路径位置,双击上方路径框,复制当前的路径即可。
Path
这一步的作用是让计算机系统可以直接在命令行窗口中寻找到路径,从而执行相关的命令,便于提高开发者的效率,不然每次都需要去安装的位置运行下载的命令。
接着继续在命令行窗口中输入goctl
至此,goctl
安装完毕!
一键式安装:
只需在命令行窗口中输入如下命令:
goctl env check --install --verbose --force
安装完毕后,bin
文件夹下会出现可执行文件如下:
先初始化go mod
初始化命令如下
go mod init <文件夹名字>
安装go-zero
命令如下:
go get -u github.com/zeromicro/go-zero@latest
至此,goctl、protoc、go-zero
安装完毕!
看到这里的小伙伴,恭喜你又掌握了一个技能
希望大家能取得胜利,坚持就是胜利
我是寸铁!我们下期再见
【Go面试向】defer与time.sleep初探
【Go面试向】defer与return的执行顺序初探
【Go面试向】Go程序的执行顺序
【Go面试向】rune和byte类型的认识与使用
【Go面试向】实现map稳定的有序遍历的方式