ThinkGo 使用教程
thinkgo 项目地址: https://gitcode.com/gh_mirrors/thi/thinkgo
1. 项目介绍
ThinkGo 是一个用 Go(Golang)编写的轻量级 MVC 框架。它旨在为开发者提供一个简单、高效的 Web 应用开发环境。ThinkGo 拥有模块化的设计,支持路由、中间件、控制器、请求、响应、视图、HTTP 会话、日志、缓存、ORM 等功能,使得开发者可以方便地构建高性能的 Web 应用。
2. 项目快速启动
要开始使用 ThinkGo,首先确保你已经安装了 Go 开发环境。以下是快速启动 ThinkGo 的步骤:
// 1. 安装 ThinkGo
go get -u github.com/forgoer/thinkgo
// 2. 创建一个新的 Go 文件,例如 main.go
package main
import (
"fmt"
"github.com/forgoer/thinkgo"
"github.com/forgoer/thinkgo/think"
)
func main() {
// 3. 初始化 ThinkGo 实例
th := thinkgo.New()
// 4. 注册路由
th.RegisterRoute(func(route *think.Route) {
route.Get("/", func(req *think.Req) *think.Res {
return think.Text("Hello ThinkGo !")
})
route.Get("/ping", func(req *think.Req) *think.Res {
return think.Json(map[string]string{"message": "pong"})
})
// 依赖注入示例
route.Get("/user/{name}", func(req *think.Req, name string) *think.Res {
return think.Text(fmt.Sprintf("Hello %s !", name))
})
})
// 5. 运行应用
th.Run()
}
在终端运行 go run main.go
,然后访问 http://localhost:9011
,你应该会看到 "Hello ThinkGo !" 的欢迎信息。
3. 应用案例和最佳实践
以下是一些使用 ThinkGo 的典型应用案例和最佳实践:
路由定义
route.Get("/users", func(req *think.Req) *think.Res {
// 处理获取用户列表的请求
})
route.Post("/users", func(req *think.Req) *think.Res {
// 处理创建新用户的请求
})
中间件使用
route.Get("/secret", func(req *think.Req) *think.Res {
// 处理需要认证的请求
}).Middleware(func(req *think.Req, next think.Closure) interface{} {
// 认证逻辑
return next(req)
})
控制器和依赖注入
package controller
import (
"github.com/forgoer/thinkgo"
"github.com/forgoer/thinkgo/context"
)
func Index(req *context.Request) *context.Response {
return thinkgo.Text("Hello from Controller!")
}
// 路由到控制器
route.Get("/", controller.Index)
4. 典型生态项目
ThinkGo 作为 Go 社区的一部分,其生态系统也在不断发展和完善。以下是一些与 ThinkGo 相关的典型生态项目:
- ThinkGoAdmin:一个基于 ThinkGo 的后台管理系统。
- ThinkGoPay:一个处理支付业务的 ThinkGo 扩展包。
- ThinkGoORM:一个为 ThinkGo 提供 ORM 功能的库。
通过这些生态项目,开发者可以更快速地搭建自己的应用,并专注于业务逻辑的开发。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考