Zlsgo
简单易用、足够轻量、性能好的 Golang 库 - Easy to use, light enough, good performance Golang library
Install / Use
/learn @sohaha/ZlsgoREADME
English | 简体中文

📚 文档
各模块详细文档请查看对应模块目录下的 README.md 文件,例如:
建议搭配 zzz 的 zzz watch 指令使用
✨ 特性
- 轻量高效:避免过多的外部依赖,最低兼容 Windows 7 等老系统
- 模块化设计:按需引入,减少不必要的代码体积
- 类型安全:充分利用 Go 类型系统,提供类型安全的 API
- 高性能:优化底层实现,追求极致的性能表现
- 简单易用:提供简洁直观的 API 设计
🚀 快速开始
安装
go get github.com/sohaha/zlsgo
HTTP 服务
// main.go
package main
import (
"github.com/sohaha/zlsgo/znet"
)
func main(){
// 获取一个实例
r := znet.New()
// 注册路由
r.GET("/hi", func(c *znet.Context) {
c.String(200, "Hello world")
})
// 隐性路由(结构体绑定)请参考文档
// 启动
znet.Run()
}

日志工具
package main
import (
"github.com/sohaha/zlsgo/zlog"
)
func main(){
logs := []string{"这是一个测试","这是一个错误"}
zlog.Debug(logs[0])
zlog.Error(logs[1])
zlog.Dump(logs)
// zlog...
}

HTTP 客户端
// main.go
package main
import (
"github.com/sohaha/zlsgo/zhttp"
"github.com/sohaha/zlsgo/zlog"
)
func main(){
data, err := zhttp.Get("https://github.com")
if err != nil {
zlog.Error(err)
return
}
res := data.String()
zlog.Debug(res)
}
更多功能
请阅读文档 https://docs.73zls.com/zls-go/#
📦 模块列表
核心模块
文件和数据模块
网络和Web模块
工具和辅助模块
- zlog - 日志库
- zreflect - 反射工具库
- zshell - Shell 命令执行库
- zstring - 字符串处理库
- zsync - 同步原语库
- ztime - 时间处理库
- zutil - 通用工具库
- zvalid - 数据验证库
- zlocale - 国际化库
Todo
- [x] HTTP 服务端
- [x] Http 客户端
- [x] JSON RPC
- [x] 日志功能
- [x] Json 处理
- [x] 字符串处理
- [x] 验证器
- [x] 热重启
- [x] 守护进程
- [x] 异常上报
- [x] 终端应用
- [x] 协程池
- [x] HTML 解析
- [x] 依赖注入
- [x] Server Sent 推送
- [x] 高性能 HashMap
- [x] 国际化
- [ ] 数据库操作
- [ ] ...(更多请阅读文档)
