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
就成功了