搭建一个go语言的微服务项目-含数据库Mysql&缓存redis(史上最详细)-有个技术总监叫马老师
还能学Java/PHP/C/Go、大数据、AI干货,获取软件团队从0到1搭建方法,拆解IPD/瀑布/敏捷项目管理流程,教你选对模式避坑,不浪费时间金钱!此项目可以作为go语言项目的开发基础,需要完整版的代码,直接私信我,就可以给你提供一套免费的go语言项目架构基础,还提供一套完整的软件开发包。go get -u github.com/go-redis/redis/v8 # Redis 客户端。go
备注:关注我!免费领完整版资料,免费咨询软硬件、产品/UI设计、测试、运维。还能学Java/PHP/C/Go、大数据、AI干货,获取软件团队从0到1搭建方法,拆解IPD/瀑布/敏捷项目管理流程,教你选对模式避坑,不浪费时间金钱!
此项目可以作为go语言项目的开发基础,需要完整版的代码,直接私信我,就可以给你提供一套免费的go语言项目架构基础,还提供一套完整的软件开发包。
另外需要ROS机器人及AI大模型架构项目架构,也可以来找我。

第一部分 环境搭建
一.环境搭建
在开始开发之前,我们需要确保本地环境已经安装了Go语言开发环境。
1.安装Go语言
参照《go语言安装及其环境配置》文档进行安装与配置。
- 配置开发工具
推荐使用VS Code或GoLand进行Go语言开发。以下是VS Code的配置步骤:
1)安装VS Code编辑器。
2)安装Go插件:打开VS Code,进入插件市场,搜索并安装Go插件。
3)配置Go开发环境:确保Go语言的安装路径已添加到系统环境变量中。
3.VS Code 安装插件
MySQL (数据库连接):



Go (官方插件):

directory-tree生成项目目录结构(官方插件):

二.创建MySQL表


三.项目整体结构设计
采用清晰的分层架构,便于维护和扩展:
go-weifuwu
├─ ��cmd # 程序入口
│ └─ ��api
│ ├─ ��logs #日志目录
│ │ └─ ��app.log
│ └─ ��main.go # 主函数
├─ ��configs # 配置文件
│ └─ ��config.yaml
├─ ��internal # 内部模块
│ ├─ ��cache #缓存信息
│ │ └─ ��user_cache.go
│ ├─ ��config
│ │ └─ ��config.go
│ ├─ ��handler # 控制器层(处理HTTP请求)
│ │ ├─ ��routes.go #路由配置
│ │ └─ ��user_handler.go
│ ├─ ��middleware # 数据库迁移
│ │ └─ ��auth.go #权限校验
│ ├─ ��model
│ │ ├─ ��LoginRequest.go #请求参数
│ │ ├─ ��LoginResponse.go #响应参数
│ │ └─ ��user.go #用户数据模型
│ ├─ ��repository # 数据访问层
│ │ ├─ ��db.go #数据库初始化
│ │ └─ ��user_repo.go
│ └─ ��service #服务层(业务逻辑)
│ └─ ��user_service.go
├─ ��migrations
│ └─ ��01_create_users_table.up.sql
├─ ��pkg
│ ├─ ��bcrypt #密钥
│ │ └─ ��bcrypt.go
│ ├─ ��jwt #鉴权
│ │ └─ ��jwt.go
│ └─ ��logger #日志工具
│ └─ ��logger.go
├─ ��router
├─ ��utils #工具
│ └─ ��path.go #一次性解决配置文件加载不到问题
├─ ��go.mod # 依赖管理
└─ ��go.sum #依赖下载文件总和
四.初始化项目和依赖安装
- 创建项目并初始化
- win+R键盘,输入cmd命令

2.通过命令创建文件夹go-weifuwu,由于我的GOPATH目录在D:\software\go


1.3进入go-weifuwu文件夹

1.4 初始化项目
go mod init github.com/yourusername/go-weifuwu

也可以直接在vscode中,项目的根目录下面进行初始化,两者二选一即可。

-
- 安装核心依赖
# Web框架
go get -u github.com/gin-gonic/gin
# ORM
go get -u gorm.io/gorm
go get -u gorm.io/driver/mysql
# Redis客户端
go get -u github.com/go-redis/redis/v8
# JWT工具
go get -u github.com/golang-jwt/jwt/v4
# 配置管理
go get -u github.com/spf13/viper
# 日志
go get -u github.com/sirupsen/logrus
# 密码加密
go get -u golang.org/x/crypto/bcrypt
可以通过命令行来执行.

可以通过VScode中的终端来执行

1.5.1 go get -u github.com/gin-gonic/gin # Web 框架
初次可能报错:

解决办法,在cmd中输入go env -w GOPROXY=https://goproxy.cn,direct :

1.5.2 go get -u gorm.io/gorm # ORM 框架

1.5.3 go get -u gorm.io/driver/mysql # MySQL 驱动

1.5.4 go get -u github.com/go-redis/redis/v8 # Redis 客户端

1.5.5 go get -u golang.org/x/crypto/bcrypt # 密码加密

1.5.6 go get -u github.com/golang-jwt/jwt/v5 # JWT 登录态

备注:后面代码中,如果还需要引入依赖,自己在项目的根目录下面go get +相关的依赖即可
五.开始进入代码的世界了(需要代码的狗子,私信联系我)
- configs/config.yaml:

2.internal\cache\user_cache.go

3.internal\config\config.go

.........需要代码的可私信联系我
六.开始启动项目吧

七.用postMan开始验证数据
1.先注册数据

2.开始登录吧

好了,截至目前为止,go语言相关的项目搭建完成。
更多推荐


所有评论(0)