初始化 Go 项目

初始化项目

初始化一个 Go web 项目的步骤。

首先是创建项目的的文件夹,并初始化 go.mod,  假设项目的远端地址为 github.com/someone/someproject.git

1
2
3
$ mkdir PROJECT_NAME
$ cd PROJECT_NAME
$ go mod init github.com/someone/someproject

项目的布局结构可以参考 Standard Go Project Layout

配置 makefile

这样就完成了项目的第一步,接下来就是配置一些项目构建的脚本,一般都是使用 makefile 来作为项目的管理方式。下面是一个常见的makefile 配置

首先是帮助信息,通过输入 make help 获取到当前 makefile 的 target 和用法

1
2
3
4
5
## help: Show help message
.PHONY: help
help: Makefile
@echo "\nUsage: make <TARGETS>"
@sed -n 's/^##//p' $< | column -t -s ':' | sed -e 's/^/ /'

然后是常用的编译,测试命令

1
2
3
4
5
6
7
8
9
## build: build the project
.PHONY: build
build:
@go build cmd/main.go

## test: run tests
.PHONY: test
test:
@go test -v ./...

如果项目需要用到第三方的 go 工具,可以项目中加上类似下面的脚本

1
2
3
4
## go.install.swag: install swag
.PHONY: go.install.swag
go.install.swag:
@go install github.com/swaggo/swag/cmd/swag@latest

配置 swagger

通常来说,接口的文档管理可以通过 swagger 来做,如果使用 gin 框架来做 web,那么就可以使用 gin- swagger.

下载安装依赖

1
2
$ go get -u github.com/swaggo/gin-swagger
$ go get -u github.com/swaggo/files

然后在路由注册处,注册 gin-swagger 的路由

1
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerfiles.Handler))

同时需要在主入口处引入文档所在目录,并且添加对应的注释,具体可参见官方文档。

完成上述的基本配置之后,一个项目的框架就算是初步搭建完成了,之后就可以进行业务代码的书写了。


初始化 Go 项目
https://blog.zhangliangliang.cc/post/go-project-setup.html
作者
Bobby Zhang
发布于
2021年11月16日
许可协议