Go的工程
基于Go生态,构建一个支持内容管理,内容加工、内容分发的内容库系统。
- 内容管理:增删改查
- 内容加工:例如内容审核、推荐等
- 内容分发:将内容可以推到不同的业务线
工程架构

技术选型
-
Gin v1.9.1:Go的一个Web框架 Go v1.20-
go-redis v9:Go语言操作Redis -
gorm v1.25.5:操作MySQL Redis v7.2.0、MySQL 8.2.0-
goflow v0.1.4:加工流框架
Gin入门
初始化工程
- 选择目录
- 选择
go版本 - 配置环境:
GOPROXY=https://goproxy.cn,direct - 创建工程目录
这里我使用最新版的Go版本

创建完目录后,我们需要去设置里面设置一下GOPATH,这里的目录选择一个自己喜欢的目录就好,建议和博主一样

接下来创建目录结构
-
cmd:放一个main.go的可以运行的文件 -
internal:工程内部的实现逻辑 -
pkg:外部的包放入其中 -
dao:操作存储资源 -
model:放model工程 -
service:逻辑服务 -
utils:工具方法 -
config:配置加载 -
cache:缓存

访问Gin的Git仓库https://github.com/gin-gonic/gin,在这块也可以找到Gin的文档
-
下载安装Gin
go get -u github.com/gin-gonic/gin
-
在刚才的
main.go文件输入以下代码,也是Gin文档给出的Hello World代码package main import ( "fmt" "github.com/gin-gonic/gin" "net/http" ) func main() { r := gin.Default() r.GET("/ping", func(c *gin.Context) { c.JSON(http.StatusOK, gin.H{ "message": "ok", }) }) // 监听并在 0.0.0.0:8080 上启动服务 err := r.Run() if err != nil { fmt.Printf("r run error = %v", err) return } } -
然后我们在终端运行

-
去浏览器访问
localhost:8080/ping
访问到内容,说明我们的Gin的Hello World就成功了