lancet: 一个全面、高效、可复用的 go 语言工具函数库
lancet(柳叶刀)是一个全面、高效、可复用的 go 语言工具函数库。 lancet 受到了 java apache common 包和 lodash.js 的启发。
特性
👏 全面、高效、可复用
💪 100+常用 go 工具函数,支持 string、slice、datetime、net、crypt...
💅 只依赖 go 标准库
🌍 所有导出函数单元测试覆盖率 100%
安装
go get github.com/duke-git/lancet 用法 lancet 是以包的结构组织代码的,使用时需要导入相应的包名。例如:如果使用字符串相关函数,需要导入 strutil 包:
import "github.com/duke-git/lancet/strutil"
例子
此处以字符串工具函数 ReverseStr(逆序字符串)为例,需要导入 strutil 包:
package main
import ("fmt""github.com/duke-git/lancet/strutil")
func main() {
s := "hello"
rs := strutil.ReverseStr(s)
fmt.Println(rs) //olleh
}
API 文档
convertor 数据转换包转换函数支持常用数据类型之间的转换
导入包:import "github.com/duke-git/lancet/convertor"package main
2. cryptor 加解密包加密函数支持 md5, hmac, aes, des, ras
导入包:import "github.com/duke-git/lancet/cryptor"package main
3. datetime 日期时间处理包处理日期时间导入包:import "github.com/duke-git/lancet/datetime"package main
4. fileutil 文件处理包文件处理常用函数
导入包:import "github.com/duke-git/lancet/fileutil"package main
5. formatter 格式化处理包格式化相关处理函数
导入包:import "github.com/duke-git/lancet/formatter"package main
6. netutil 网络处理包处理 ip, http 请求相关函数
导入包:import "github.com/duke-git/lancet/netutil"
http 方法 params 参数顺序:header, query string, body, httpclientpackage main
7. random 随机数处理包生成和处理随机数
导入包:import "github.com/duke-git/lancet/random"package main
8. slice 切片操作包切片操作相关函数
导入包:import "github.com/duke-git/lancet/slice"
由于 go 目前对范型支持不稳定,slice 处理函数参数和返回值大部分为 interface{}, 待范型特性稳定后,会重构相关函数
9. strutil 字符串处理包字符串操作相关函数
导入包:import "github.com/duke-git/lancet/strutil"package main
10. validator 验证器包数据校验相关函数
导入包:import "github.com/duke-git/lancet/validator"package main
版权声明: 本文为 InfoQ 作者【柳叶刀】的原创文章。
原文链接:【http://xie.infoq.cn/article/e764e8312e8fa8a691af928f6】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论