## 簡介
因為工作上的需求,由于兩個項目都是管理類型的,故在項目開始之處就考慮做一個能夠快速開發(fā)應(yīng)用的框架,考慮到時間緊,任務(wù)重,同時市面上很多優(yōu)秀的基于golang的web框架,綜合考慮,不重復(fù)造輪子,站在巨人的肩膀上,使用了golang的web框架gin來搭建基礎(chǔ)框架,在該框架中使用了很多由于的模塊,在此感謝作者的付出。
因為是寫一個系列文章, 故文章會從零開始來搭建這個框架,大部分代碼會從原有的項目copy過來。主要目的記錄該框架是如何搭建的,以及在上面如果快速開發(fā)一個后臺應(yīng)用。
gin框架地址:[https://github.com/gin-gonic/gin](https://github.com/gin-gonic/gin)
## 開發(fā)環(huán)境
* PC: Mac
* IDE: Goland 2018.3 EAP
* GO:go1.10 darwin/amd64
* 環(huán)境變量`GOPATH:/Users/cloudy/Documents/go`?
* 包依賴管理:govendor
## 新建項目
### 新建項目
項目名稱為base-framework,如果其他項目使用或者修改項目名稱,需要修改代碼中包引入涉及到的項目名,可以批量替換。

### 依賴初始化
項目目錄下執(zhí)行`govendor init`,在項目目錄下將會出現(xiàn)`vendor`文件夾
**后續(xù)所說的執(zhí)行命令,默認(rèn)在Goland IDE的Terminal下**
添加項目需要使用到的包,使用`govendor fetch`命令將會獲得最新的包,使用命令將會`govendor add` 使用本地的包
后面章節(jié)若使用了新的包將會更新下面的目錄
```
govendor fetch github.com/gin-gonic/gin
govendor fetch gopkg.in/yaml.v2
```
### 創(chuàng)建main文件
需要將package名改為main里面的內(nèi)容為
```
package main
import "fmt"
func main() {
? ? fmt.Println("base framework")
}
```
### 配置文件
創(chuàng)建配置文件夾`conf`,后期里面將包含`config.yml` https使用的證書,jwt使用的公私鑰,以及初始化數(shù)據(jù)文件
```
cloudydeMacBook-Pro:base-framework cloudy$ tree
.
├── conf
│? ├── config.yml
│? ├── https
│? └── jwt
├── main.go
└── vendor
```