lancet: 一個全面、高效、可複用的go語言工具函式庫

lanliddd發表於2023-06-07

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。
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章