go学习之路(1)——创建一个gin/gorm项目

从0开始创建一个gin项目

构建项目

项目初始化操作

新建项目文件夹,例如:demo文件夹,创建完成后在文件夹内右键唤处命令行工具,输入

		go init mod demo

demo可自定义,名字尽量保持与文件夹名字相同。
因为 :
这一步操作是在创建go的包管理目录,创建后的mod文件最上方会有一行 module demo如下

		module demo

项目内的文件互相引用需要根据这个module来获取位置
引用方式如下

import "demo/项目下的文件夹名称"

添加必要的库,本项目需要
gin库:gin框架,主要用于生成路由,路由管理等
gorm库:主要用于简化数据库的操作
mysql库:用于mysql数据库的连接等
viper库:用于解析yaml文件,读取配置文件

安装这些库之前可以把go的包管理模式切换为mod模式

	go env -w GO111MODULE=on
	go env -w GOPROXY=https://goproxy.cn,direct

随后在当前文件夹下安装这些库的操作如下

//-u可以不加,-u是为了保证拉取最新的包
go get -u github.com/gin-gonic/gin
go get -u gorm.io/driver/mysql
go get -u gorm.io/gorm
go get -u github.com/spf13/viper

创建目录结构

根据mvc的设计模式,创建文件夹目录

demo
│   README.md
│   main.go   //入口文件
└───conf   //基础配置,定义数据库名称密码等
│   │   conf.go
│   │   config.yaml
└───models  // domain+dao层 - models文件夹,定义实体类,查询数据库。
│   │   initDB.go  
└───routers // controller层 - routers文件夹,主要执行与前端的api的映射,调用service层的方法
│   │   router.go //初始化router操作等
│   └───api  //api文件夹下分类接口所属模块
└───service //service层 - service文件夹,主要对获取到的数据执行逻辑上的处理,并且返回到controller层
│   │  xxx.go
└───logs //用来存储logs记录
 

项目详见 https://github.com/jiangbo66666/gin-vue-microBlog

项目致力于做成一个类似微博的社交工具,现在只是初始化,待续。。。。

猜你喜欢

转载自blog.csdn.net/weixin_42425391/article/details/128863467