# 基于golang gin的脚手架GoSkeleton {#基于golang-gin的脚手架goskeleton}
本文讲述基于golang gin的脚手架GoSkeleton的使用教程。GoSkeleton是基于gin框架集成了各种常用功能,可以作为后台api开发脚手架。
# 1. 下载工程代码 {#_1-下载工程代码}
git clone git@gitee.com:daitougege/GinSkeleton.git
# 2. 配置数据库 {#_2-配置数据库}
修改config/gorm_v2.yml文件中的数据库配置
Mysql:
Write:
Port: 3306 #注意,非3306,请自行调整
User: "root"
Pass: "123456"
IsOpenReadDb: 0 # 是否开启读写分离配置(1=开启、0=关闭),IsOpenReadDb=1,Read 部分参数有效,否则Read部分参数直接忽略
Read:
Port: 3306 #注意,非3306,请自行调整
User: "root"
Pass: "123456"
# 3. 初始化数据库 {#_3-初始化数据库}
导入数据库脚本database/db_demo_mysql.sql
# 4. 运行项目 {#_4-运行项目}
可以使用goland或vscode运行项目。
# 4.1 使用goland运行项目 {#_4-1-使用goland运行项目}
和其它项目的运行方法没有任何区别, 直接右键运行main函数即可。
# 4.2 使用vscode运行项目 {#_4-2-使用vscode运行项目}
默认情况下,会运行失败,提示如下:
2020/12/11 13:44:24 config.yml 配置文件不存在stat /data/workspace/wangshibiao/tmp/GinSkeleton/cmd/web/config/config.yml: no such file or directory
因为该程序会去指定目录(使用的是os.Getwd()函数的返回值,该函数在goland中执行返回的是项目根目录,然后在vscode中执行是当前运行的入口文件main.go所在目录)下查找配置文件,但实际上配置文件是在项目根目录下,所以报错。
只需在launch.json中增加1项配置即可"cwd": "${workspaceRoot}"
, 完整配置如下:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "GinSkeleton",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceRoot}/cmd/web/main.go",
"cwd": "${workspaceRoot}",
"env": {},
"args": []
}
]
}