V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
lanliddd
V2EX  ›  Go 编程语言

lancet: 一个全面、高效、可复用的 go 语言工具函数库

  •  
  •   lanliddd · 2023-06-07 19:19:43 +08:00 · 747 次点击
    这是一个创建于 529 天前的主题,其中的信息可能已经有所发展或是发生改变。

    lancet(柳叶刀)是一个全面、高效、可复用的 go 语言工具函数库。

    特性

    • 👏 全面、高效、可复用。
    • 💪 500+常用 go 工具函数,支持 string 、slice 、datetime 、net 、crypt...
    • 💅 只依赖 go 标准库和 golang.org/x
    • 🌍 所有导出函数单元测试覆盖率 100%。

    安装

    Note:

    1. 使用 go1.18 及以上版本的用户,建议安装 v2.x.x 。 因为 v2.x.x 应用 go1.18 的泛型重写了大部分函数。
    go get github.com/duke-git/lancet/v2 //安装 v2 最新版本 v2.x.x
    
    1. 使用 go1.18 以下版本的用户,必须安装 v1.x.x 。目前最新的 v1 版本是 v1.3.9 。
    go get github.com/duke-git/lancet// 使用 go1.18 以下版本, 必须安装 v1.x.x 版本
    

    用法

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

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

    示例

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

    package main
    
    import (
        "fmt"
        "github.com/duke-git/lancet/v2/strutil"
    )
    
    func main() {
        s := "hello"
        rs := strutil.Reverse(s)
        fmt.Println(rs) //olleh
    }
    

    文档

    详细文档请参考lancet 仓库

    如何贡献代码

    感谢任何的代码提交以使 lancet 的功能越来越强大。创建 pull request 时请遵守以下规则。

    1. Fork lancet 仓库。
    2. 创建自己的特性分支。
    3. 提交变更。
    4. Push 分支。
    5. 创建新的 pull request 。
    2 条回复    2023-06-25 14:01:39 +08:00
    Trepverter
        1
    Trepverter  
       2023-06-20 10:43:43 +08:00
    很棒的仓库,感谢!
    lanliddd
        2
    lanliddd  
    OP
       2023-06-25 14:01:39 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3106 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:41 · PVG 08:41 · LAX 16:41 · JFK 19:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.