极简go-zero框架搭建教程--推荐使用GoLand

本文介绍了Java开发者转向Go语言进行微服务开发的过程,特别关注了Go零基础入门者如何通过GoFrame、gin和go-zero等框架选择,以及go-zero的详细搭建步骤,包括环境配置、依赖管理、代码自动生成等内容。
摘要由CSDN通过智能技术生成
背景:万年Java8+SpringBoot2选手,探索go微服务开发
前置条件:看十分钟golang基本语法  windows10环境  go版本1.22 (最好>1.18)
----------------------------------------
## golang 后端开发框架选型 ##
简单来说可以分  
GoFrame (复杂的企业级单体项目  类比springboot)不支持微服务
gin  等 轻量级框架
go-zero(目前国内社区最活跃最稳定的go微服务)等   复杂的分布式微服务项目

istio属于云原生的网格平台
----------------------------------------
go-zero搭建详解(网上的教程支离破碎)
最最最开始的环境搭建见https://go-zero.dev
看完golang + goctl + go-zero安装就行

一、新建文件夹
在根目录运行go mod init myProject( 自己的项目名 )
得到一个go.mod 文件 (如果用goland创建新项目会自带mod文件)
go.mod就是包管理描述文件  类比pom文件  只是不能自己编辑

二、自动创建目录结构
在根目录运行goctl api new 自己的项目名    例如 goctl api new myProject

三、安装依赖包 
在根目录运行 go mod tidy
这一步会自动更新mod文件内的包信息

随后可以得到 项目结构:
.
├── etc
│   └── 项目名.yaml    # 配置文件  可以配置ip 端口 数据库连接池等等
├── internal
│   ├── config
│   │   └── config.go
│   ├── handler
│   │   ├── routes.go      # 路由文件
│   │   └── userhandler.go   # 可以理解为控制层
│   ├── logic
│   │   └── userlogic.go   # 可以理解为服务层
│   ├── svc
│   │   └── servicecontext.go
│   └── types
│       └── types.go    # 可以理解为DTO、VO
├── 项目名.api  #  会根据API文件自动生成代码
└── 项目名.go # 启动文件


四、在启动文件【项目名.go】内调整yaml文件的路径
configFile的路径  要改成从最外层文件夹开始的路径  不然会报错:
error: config file   ......   The system cannot find the path specified.


五、编辑项目名.api 这个文件 具体见官方文档
包含syntax = "v1"   //自定义版本号
一些struct  请求体和响应体   可以把struct合并
一些service
后续会根据API文件自动生成代码

六、自动生成代码
在api文件的上一级文件夹的命令行运行 
goctl api go -api 具体api文件名字  -dir .(注意不要忘记点号)
例如
goctl api go -api myProject.api -dir .
看到done就是结束了

七、在logic服务层里写具体的业务逻辑方法
具体见官方文档

八、运行主函数
根据api文件的路由访问具体服务即可
  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
GoLand提供了一个交互界面来进行cherry-pick操作。要使用这个界面,首先找到你想要进行cherry-pick的commit,然后右键点击该commit,在弹出的菜单中选择"Cherry-Pick"选项。接下来,你将进入cherry-pick的交互界面。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [实战:怎样把间隔的几个commit整理成1个?-2021.11.18](https://blog.csdn.net/weixin_39246554/article/details/121402649)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [PhpStorm Git 操作](https://blog.csdn.net/xujingzhong0077/article/details/123838029)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [8小时转职Goland工程师-项目案例](https://download.csdn.net/download/abc54250/87562721)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值