一飞开源,介绍创意、新奇、有趣、实用的免费开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

go语言编写脚本,开源一个全面高效(1)

一、开源项目简介

lancet(柳叶刀)是一个全面、高效、可复用的go语言工具函数库。 lancet受到了java apache common包和lodash.js的启发。

二、开源协议

使用MIT开源协议

三、界面展示

go语言编写脚本,开源一个全面高效(2)

四、功能概述特性五、技术选型安装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.2.9。

go get github.com/duke-git/lancet@v1.2.9 // 使用go1.18以下版本, 必须安装v1.x.x版本

用法

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

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

例子

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

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.

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

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

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

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

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

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

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

函数列表:5. datetime日期时间处理包,格式化日期,比较日期。

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

函数列表:6. datastructure包含一些普通的数据结构实现。例如:list, linklist, stack, queue, set, tree, graph.

import list "github.com/duke-git/lancet/v2/datastructure/list" import link "github.com/duke-git/lancet/v2/datastructure/link" import stack "github.com/duke-git/lancet/v2/datastructure/stack" import queue "github.com/duke-git/lancet/v2/datastructure/queue" import set "github.com/duke-git/lancet/v2/datastructure/set" import tree "github.com/duke-git/lancet/v2/datastructure/tree"

Function list:7. fileutil包支持文件基本操作。

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

函数列表:8. formatter格式化器包含一些数据格式化处理方法。

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

函数列表:9. function函数包控制函数执行流程,包含部分函数式编程。

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

函数列表:10. maputil包包括一些操作map的函数.

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

函数列表:11. mathutil包实现了一些数学计算的函数。

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

Function list:12. netutil网络包支持获取ip地址,发送http请求。

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

函数列表:13. random随机数生成器包,可以生成随机[]bytes, int, string。

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

函数列表:14. retry重试执行函数直到函数运行成功或被context cancel。

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

函数列表:15. slice包包含操作切片的方法集合。

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

函数列表:16. strutil包含处理字符串的相关函数。

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

函数列表:17. system包含os, runtime, shell command相关函数。

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

函数列表:18. validator验证器包,包含常用字符串格式验证函数。

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

函数列表:

validator.md#IsWeakPassword)

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

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

函数列表:六、源码地址

访问一飞开源:https://code.exmay.com/

,