本视频采用 MixGo V1.1 版本

当我们习惯将 go 生态的不同的流行库拼装起来开发项目时,mix-go 就非常适合你,他帮助你创建骨架代码把各种流行的库组合起来,帮助你快速开发各种类型的项目。

安装 golang

配置环境变量

  • 修改 golang 自己的环境变量

    • 开启 go mod
    • 配置代理
    • 配置库哈希效验网站
go env -w GO111MODULE="on" GOPROXY="https://goproxy.io,direct" GOSUMDB="sum.golang.org"
  • $GOPATH/bin 目录加入到 $PATH

打印 GOPATH

go env GOPATH

编辑 ~/.bashrc or ~/.zshrc 加入 $GOPATH/bin

export PATH="$PATH:/Users/**/go/bin"

安装 mixcli

go get github.com/mix-go/mixcli

创建项目

$ mixcli new hello
Use the arrow keys to navigate: ↓ ↑ → ← 
? Select project type:
    CLI
  ▸ API
    Web (contains the websocket)
    gRPC

骨架细节讲解

观看视频收听以下内容

  • 配置文件
  • di 依赖注入
  • gin 相关
  • gorm 的使用
  • jwt 处理

遗漏未讲的内容: 代码发布

完整的代码目录结构如下:

.
├── .env
├── .gitignore
├── README.md
├── bin
│   ├── .gitignore
│   └── hello_linux
├── commands
│   ├── api.go
│   ├── main.go
│   └── welcome.go
├── conf
│   └── config.yml
├── configor
│   └── main.go
├── controllers
│   ├── auth.go
│   ├── hello.go
│   └── user.go
├── di
│   ├── goredis.go
│   ├── gorm.go
│   ├── server.go
│   ├── session.go
│   └── zap.go
├── dotenv
│   └── main.go
├── go.mod
├── go.sum
├── main.go
├── middleware
│   ├── auth.go
│   └── cors.go
├── models
│   └── users.go
├── routes
│   └── main.go
└── runtime
    ├── .gitignore
    └── logs
        └── mix.log

我们只需要将编译好的二进制(交叉编译)加上外部文件发布到线上即可

交叉编译: GOOS=linux GOARCH=amd64 go build -o bin/hello_linux main.go
.
├── .env
├── bin
│   └── hello_linux
├── conf
│   └── config.yml
└── runtime
  • .env 需要修改为线上的数据库账号
  • conf 的配置文件必须发到线上
  • bin 二进制必须放到这个目录,因为读取配置文件是以这个目录为根目录
  • runtime 目录必须有,不然日志创建不成功会抛出异常

撸代码的乡下人
252 声望46 粉丝

我只是一个单纯爱写代码的人,不限于语言,不限于平台,不限于工具