当前位置: 首页 > news >正文

视频网站开发 博客园厦门百度关键词优化

视频网站开发 博客园,厦门百度关键词优化,网站开发 支付宝订单号,台州网站建设方案咨询支持300常用功能的开源GO语言工具函数库–Lancet lancet(柳叶刀)是一个全面、高效、可复用的go语言工具函数库。lancet受到了java apache common包和lodash.js的启发。 特性 全面、高效、可复用300常用go工具函数,支持string、slice、dateti…

支持300+常用功能的开源GO语言工具函数库–Lancet

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

特性

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

安装

1、对于使用go1.18及以上的用户,建议安装v2.x.x。因为v2.x.x用go1.18的泛型重写了大部分函数。

go get github.com/duke-git/lancet/v2 //安装v2最新版本v2.x.x

2、使用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 mainimport ("fmt""github.com/duke-git/lancet/v2/strutil"
)func main() {s := "hello"rs := strutil.ReverseStr(s)fmt.Println(rs) //olleh
}

算法包

algorithm算法包实现一些基本算法。例如:sort、search、lrucache等。

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

示例:BubbleSort

冒泡排序,参数comparator需要实现包
lancetconstraints.Comparator

函数签名:

func BubbleSort[T any](slice []T, comparator lancetconstraints.Comparator)

Example:

package mainimport ("fmt""github.com/duke-git/lancet/v2/algorithm"
)func main() {type intComparator struct{}func (c *intComparator) Compare(v1 any, v2 any) int {val1, _ := v1.(int)val2, _ := v2.(int)//ascending orderif val1 < val2 {return -1} else if val1 > val2 {return 1}return 0}intSlice := []int{2, 1, 5, 3, 6, 4}comparator := &intComparator{}algorithm.BubbleSort(intSlice, comparator)fmt.Println(intSlice) //[]int{1, 2, 3, 4, 5, 6}
}

并发包

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

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

示例:NewChannel

返回一个 Channel 指针实例

函数签名:


type Channel struct {}
func NewChannel() *Channel

Example:

package mainimport ("fmt""github.com/duke-git/lancet/v2/concurrency"
)func main() {c := concurrency.NewChannel()
}

转换器包

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

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

示例:ToBool

字符串转布尔类型,使用strconv.ParseBool

函数签名:

func ToBool(s string) (bool, error)

Example:


package mainimport ("fmt""github.com/duke-git/lancet/v2/convertor"
)func main() {v1, _ := convertor.ToBool("1")fmt.Println(v1) //truev2, _ := convertor.ToBool("true")fmt.Println(v2) //truev3, _ := convertor.ToBool("True")fmt.Println(v3) //truev4, _ := convertor.ToBool("123")fmt.Println(v4) //false
}

加密包

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

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

示例:AesEcbEncrypt

使用AES ECB算法模式加密数据. 参数key的长度是16, 24 or 32。

函数签名:

func AesEcbEncrypt(data, key []byte) []byte

Example:

package mainimport ("fmt""github.com/duke-git/lancet/v2/cryptor"
)func main() {data := "hello world"key := "abcdefghijklmnop"encrypted := cryptor.AesEcbEncrypt([]byte(data), []byte(key))fmt.Println(string(encrypted))
}

ps:根据需要选择性使用,不要本末倒置。更多用法去下面的开源地址或官网api中寻找。

开源协议:MIT

开源地址:https://github.com/duke-git/lancet
官网地址:https://www.golancet.cn

http://www.khdw.cn/news/21551.html

相关文章:

  • 如何做微信小程序网站做推广哪个平台效果好
  • 北辰做网站的公司深圳网站建设资讯
  • 怎么用dw做地图网站万网域名注册查询网
  • 怎么做视频聊天网站软文有哪些发布平台
  • 网站域名和备案公司可以不一样么seo网站排名优化公司
  • 网站提示页面设计央视新闻最新消息今天
  • 中国百强城市榜单排名seo黑帽技术工具
  • 北京工作室网站建设百度seo营销推广多少钱
  • 机械行业做网站网络广告一般是怎么收费
  • 网站建设服务费怎么写分录网站开发合同
  • 美图秀秀在线制作图片重庆seo排名方法
  • 南宁网站开发外包性价比网站开发制作培训学校
  • 郑州建设信息网首页图windows优化大师官网
  • wordpress死链接提交网站关键词优化排名推荐
  • 网站企业建设seo百度快速排名
  • wordpress后端宁波搜索引擎优化seo
  • wap网站源码高平网站优化公司
  • 网站建设与管理升学就业方向哈尔滨百度公司地址
  • 毕节市生态文明建设网站属于网络营销的特点是
  • 网站备案 企业备案谷歌搜索引擎免费
  • 无锡高端网站建设咨询网络服务器有哪些
  • .net是建网站的吗合肥网络优化推广公司
  • 河南省城乡建设厅网站首页东营百度推广公司
  • 个人网站建设详细教程公司做网页要多少钱
  • 版本设计网站爱站网站长工具
  • 一个域名能同时做2个网站吗好的网站或网页
  • 烟台网站建设方案书长沙网站优化seo
  • 二级域名备案流程重庆seo网络优化师
  • 网站名查找seo如何建立优化网站
  • 新网站成立如何做测试计划郑州网络营销公司有哪些