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

12380 举报网站建设网站建设福建

12380 举报网站建设,网站建设福建,中外人才网,网站维护的主要内容Go语言函数式编程库samber/lo 开发中#xff0c;我们经常遇到一些操作#xff0c;比如获取一个map的所有key#xff0c;所有value#xff0c;判断一个字符串是否出现在slice 中#xff0c;slice中是否有重复元素等等。Go语言没有这样的操作#xff0c;标准库也不提供。…Go语言函数式编程库samber/lo 开发中我们经常遇到一些操作比如获取一个map的所有key所有value判断一个字符串是否出现在slice 中slice中是否有重复元素等等。Go语言没有这样的操作标准库也不提供。因此我们自己或者团队会维护一 些这类操作的包。得益于Go泛型的发布lo 就是这样的包封装了大量简单操作可以降低我们的代码量。 samber/lo 是一个基于Go 1.18泛型的Lodash风格的Go库。 samber/lo文档地址https://pkg.go.dev/github.com/samber/lo samber/lo GitHub地址https://github.com/samber/lo 除了 loGo官方也提供了一些实验性的包比如 golang.org/x/exp/map 、golang.org/x/exp/slices 。这些包 针对特定的数据结构更小引入项目时更灵活并且可能成为标准库的一部分而 lo 则更全面。 1、安装 $ go get github.com/samber/lov12、简单使用 package mainimport (fmtgithub.com/samber/lo )func main(){names : lo.Uniq[string]([]string{Samuel, John, Samuel})// 2fmt.Println(len(names))// [Samuel John]fmt.Println(names) }我们可以导入所有的函数 package mainimport (fmt. github.com/samber/lo )func main() {names : Uniq[string]([]string{Samuel, John, Samuel})// 2fmt.Println(len(names))// [Samuel John]fmt.Println(names) }3、部分功能介绍 3.1 Filter 根据条件对集合中的元素进行筛选。 package mainimport (fmtgithub.com/samber/lo )func main() {list : []int64{1, 2, 3, 4}// 返回可以被2整除的元素result : lo.Filter(list, func(nbr int64, index int) bool {return nbr%2 0})// [2 4]fmt.Printf(%v, result) }3.2 Map 遍历集合中的每一个元素并对集合中的每一个元素进行相同的操作。 package mainimport (fmtgithub.com/samber/lo )func main() {list : []int64{1, 2, 3, 4}// 集合的每个元素都乘以10result : lo.Map(list, func(x int64, index int) string {return fmt.Sprintf(%d, x*10)})// [10 20 30 40]fmt.Println(result) }并行处理 package mainimport (fmtlop github.com/samber/lo/parallel )func main() {list : []int64{1, 2, 3, 4}// 集合的每个元素都乘以10result : lop.Map(list, func(x int64, index int) string {return fmt.Sprintf(%d, x*10)})// [10 20 30 40]fmt.Println(result) }3.3 FilterMap 先根据条件对集合中的元素进行筛选。 然后遍历集合中的每一个元素并对集合中的每一个元素进行相同的操作。 package mainimport (fmtgithub.com/samber/lo )func main() {list : []int64{1, 2, 3, 4}// 先返回可以被2整除的元素,然后集合的每个元素都乘以10result : lo.FilterMap(list, func(nbr int64, index int) (string, bool) {return fmt.Sprintf(%d, nbr*10), nbr%2 0})// [20 40]fmt.Printf(%v, result) }3.4 Range/RangeFrom/RangeWithSteps 创建一个从开始到结束(不包括结束)的数字数组(正数和/或负数)。 package mainimport (fmtgithub.com/samber/lo )func main() {// [0 1 2 3]result1 : lo.Range(4)// [0 -1 -2 -3]result2 : lo.Range(-4)// [1 2 3 4 5]result3 : lo.RangeFrom(1, 5)// [1 2 3 4 5]result4 : lo.RangeFrom(1.0, 5)// [0 5 10 15]result5 : lo.RangeWithSteps(0, 20, 5)// [-1 -2 -3]result6 : lo.RangeWithSteps[float32](-1.0, -4.0, -1.0)// []result7 : lo.RangeWithSteps(1, 4, -1)// []result8 : lo.Range(0)fmt.Printf(%v\n, result1)fmt.Printf(%v\n, result2)fmt.Printf(%v\n, result3)fmt.Printf(%v\n, result4)fmt.Printf(%v\n, result5)fmt.Printf(%v\n, result6)fmt.Printf(%v\n, result7)fmt.Printf(%v\n, result8) }3.5 RandomString 返回指定长度的随机字符串该字符串由指定的字符集组成。 package mainimport (fmtgithub.com/samber/lo )func main() {result : lo.RandomString(5, lo.LettersCharset)// XVlBzfmt.Printf(%v, result) }3.6 IsNotEmpty 如果参数为零值则返回true。 package mainimport (fmtgithub.com/samber/lo )func main(){// falsefmt.Println(lo.IsNotEmpty(0))// truefmt.Println(lo.IsNotEmpty(42))// falsefmt.Println(lo.IsNotEmpty())// truefmt.Println(lo.IsNotEmpty(foobar))type test struct {foobar string}// falsefmt.Println(lo.IsNotEmpty(test{foobar: }))// truefmt.Println(lo.IsNotEmpty(test{foobar: foobar})) }这里只是用举几个例子lo 中支持超多的转化帮助函数供开发使用如果有需要可以参考开发文档。
http://www.dnsts.com.cn/news/112846.html

相关文章:

  • 网站页面构架更换网站ico
  • 宜宾移动网站建设大学网页设计与制作教材
  • 数字媒体应用 网站开发新手如何自学编程
  • 合肥做网站工作室重庆免费网站制作
  • 建网页还是网站好重庆住建厅网站官网
  • 北海建设网站wordpress win8 主题下载
  • win2003服务器网站管理工具网站自适应手机怎么
  • seo网站建设是什么意思咸宁做网站哪家好
  • 专业做网站较好的公司广州成都上市设计公司
  • 做视频网站免费观看爱精神文明建设网站
  • 怎样黑公司的网站做国外网站的零售
  • 行业网站模版html5手机 网站
  • 织梦 网站搬家网页设计代码大全下载
  • 东莞市官网网站建设价格wordpress主页视频
  • 设计wordpress页面模板下载地址长春seo搜索排名
  • 互联网出版中的网站建设策划wordpress付费文章
  • 公司网站备案需要什么材料创意模板
  • 找个做网站的 优帮云哪个购物软件最便宜
  • 变性人做欲网站网站体验提升思路
  • 温州网站建设和推广网站制作接单
  • 做国际贸易用什么网站小规模企业做网站
  • 外贸网站平台是不是很难做外链吧怎么使用
  • 做购物网站要多少钱深圳做公司网站
  • 门头沟高端网站建设新昌县城乡建设局网站
  • 设计参考网站有哪些南昌专业网站建设机构
  • iis网站属性在哪个人网站备案要钱吗
  • 品牌建设网站服务做动态在网站需要学什么
  • 不良网站代码怎么查买卖域名的网站好
  • 建设部网站法律法规设计师图片素材
  • 马鞍山网站建设制作网站搜索用户体验