前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go每日一库之150:lancet(通用工具库)

Go每日一库之150:lancet(通用工具库)

作者头像
luckzack
发布2023-10-02 08:13:49
5040
发布2023-10-02 08:13:49
举报
文章被收录于专栏:人人都是架构师

特性

  • 全面、高效、可复用
  • 300+常用go工具函数,支持string、slice、datetime、net、crypt...
  • 只依赖go标准库
  • 所有导出函数单元测试覆盖率100%

安装

Note:

  1. 对于使用go1.18及以上的用户,建议安装v2.x.x。 因为v2.x.x用go1.18的泛型重写了大部分函数。
代码语言:javascript
复制
go get github.com/duke-git/lancet/v2 //安装v2最新版本v2.x.x
  1. 使用go1.18以下版本的用户,必须安装v1.x.x。目前最新的v1版本是v1.2.9。
代码语言:javascript
复制
go get github.com/duke-git/lancet@v1.2.9 // 使用go1.18以下版本, 必须安装v1.x.x版本

用法

lancet是以包的结构组织代码的,使用时需要导入相应的包名。例如:如果使用字符串相关函数,需要导入strutil包:

代码语言:javascript
复制
import "github.com/duke-git/lancet/v2/strutil"

例子

此处以字符串工具函数ReverseStr(逆序字符串)为例,需要导入strutil包:

代码语言:javascript
复制
package main

import (
    "fmt"
    "github.com/duke-git/lancet/v2/strutil"
)

func main() {
    s := "hello"
    rs := strutil.ReverseStr(s)
    fmt.Println(rs) //olleh
}

API文档

1. algorithm算法包实现一些基本算法。eg. sort, search.

代码语言:javascript
复制
import "github.com/duke-git/lancet/v2/algorithm"
Function list:

2. 并发包包含一些支持并发编程的功能。例如:goroutine, channel, async等。

代码语言:javascript
复制
import "github.com/duke-git/lancet/v2/concurrency"
Function list:

3. convertor转换器包支持一些常见的数据类型转换。

代码语言:javascript
复制
import "github.com/duke-git/lancet/v2/convertor"
函数列表:

4. cryptor加密包支持数据加密和解密,获取md5,hash值。支持base64, md5, hmac, aes, des, rsa。

代码语言:javascript
复制
import "github.com/duke-git/lancet/v2/cryptor"
函数列表:

5. datetime日期时间处理包,格式化日期,比较日期。

代码语言:javascript
复制
import "github.com/duke-git/lancet/v2/datetime"
函数列表:

6. fileutil包支持文件基本操作。

代码语言:javascript
复制
import "github.com/duke-git/lancet/v2/fileutil"
函数列表:

7. formatter格式化器包含一些数据格式化处理方法。

代码语言:javascript
复制
import "github.com/duke-git/lancet/v2/formatter"
函数列表:

8. function函数包控制函数执行流程,包含部分函数式编程。

代码语言:javascript
复制
import "github.com/duke-git/lancet/v2/function"
函数列表:

9. maputil包包括一些操作map的函数.

代码语言:javascript
复制
import "github.com/duke-git/lancet/v2/maputil"
函数列表:

10. mathutil包实现了一些数学计算的函数。

代码语言:javascript
复制
import "github.com/duke-git/lancet/v2/mathutil"
Function list:

11. netutil网络包支持获取ip地址,发送http请求。

代码语言:javascript
复制
import "github.com/duke-git/lancet/v2/netutil"
函数列表:

12. random随机数生成器包,可以生成随机[]bytes, int, string。

代码语言:javascript
复制
import "github.com/duke-git/lancet/v2/random"
函数列表:

13. retry重试执行函数直到函数运行成功或被context cancel。

代码语言:javascript
复制
import "github.com/duke-git/lancet/v2/retry"
函数列表:

14. slice包包含操作切片的方法集合。

代码语言:javascript
复制
import "github.com/duke-git/lancet/v2/slice"
函数列表:

15. strutil包含处理字符串的相关函数。

代码语言:javascript
复制
import "github.com/duke-git/lancet/v2/strutil"
函数列表:

16. system包含os, runtime, shell command相关函数。

代码语言:javascript
复制
import "github.com/duke-git/lancet/v2/system"
函数列表:

17. validator验证器包,包含常用字符串格式验证函数。

代码语言:javascript
复制
import "github.com/duke-git/lancet/v2/validator"
函数列表:

validator.md#IsWeakPassword)

18. xerror包实现一些错误处理函数

代码语言:javascript
复制
import "github.com/duke-git/lancet/v2/xerror"
函数列表:
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 特性
  • 安装
    • Note:
    • 用法
    • 例子
    • API文档
      • 1. algorithm算法包实现一些基本算法。eg. sort, search.
        • Function list:
      • 2. 并发包包含一些支持并发编程的功能。例如:goroutine, channel, async等。
        • Function list:
      • 3. convertor转换器包支持一些常见的数据类型转换。
        • 函数列表:
      • 4. cryptor加密包支持数据加密和解密,获取md5,hash值。支持base64, md5, hmac, aes, des, rsa。
        • 函数列表:
      • 5. datetime日期时间处理包,格式化日期,比较日期。
        • 函数列表:
      • 6. fileutil包支持文件基本操作。
        • 函数列表:
      • 7. formatter格式化器包含一些数据格式化处理方法。
        • 函数列表:
      • 8. function函数包控制函数执行流程,包含部分函数式编程。
        • 函数列表:
      • 9. maputil包包括一些操作map的函数.
        • 函数列表:
      • 10. mathutil包实现了一些数学计算的函数。
        • Function list:
      • 11. netutil网络包支持获取ip地址,发送http请求。
        • 函数列表:
      • 12. random随机数生成器包,可以生成随机[]bytes, int, string。
        • 函数列表:
      • 13. retry重试执行函数直到函数运行成功或被context cancel。
        • 函数列表:
      • 14. slice包包含操作切片的方法集合。
        • 函数列表:
      • 15. strutil包含处理字符串的相关函数。
        • 函数列表:
      • 16. system包含os, runtime, shell command相关函数。
        • 函数列表:
      • 17. validator验证器包,包含常用字符串格式验证函数。
        • 函数列表:
      • 18. xerror包实现一些错误处理函数
        • 函数列表:
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档