备注:关注我!免费领完整版资料,免费咨询软硬件、产品/UI设计、测试、运维。还能学Java/PHP/C/Go、大数据、AI干货,获取软件团队从0到1搭建方法,拆解IPD/瀑布/敏捷项目管理流程,教你选对模式避坑,不浪费时间金钱!

此项目可以作为go语言项目的开发基础,需要完整版的代码,直接私信我,就可以给你提供一套免费的go语言项目架构基础,还提供一套完整的软件开发包。

另外需要ROS机器人及AI大模型架构项目架构,也可以来找我。

第一部分  环境搭建

一.环境搭建

在开始开发之前,我们需要确保本地环境已经安装了Go语言开发环境

1.安装Go语言

参照《go语言安装及其环境配置》文档进行安装与配置。

  1. 配置开发工具

推荐使用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 #依赖下载文件总和

四.初始化项目和依赖安装

  1. 创建项目并初始化
    1. 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中,项目的根目录下面进行初始化,两者二选一即可。

    1. 安装核心依赖

# 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 +相关的依赖即可

五.开始进入代码的世界了(需要代码的狗子,私信联系我)

  1. configs/config.yaml:

2.internal\cache\user_cache.go

3.internal\config\config.go

.........需要代码的可私信联系我

六.开始启动项目吧

七.用postMan开始验证数据

1.先注册数据

2.开始登录吧

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

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐