go 将数组按指定大小分隔

memo012 · · 516 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

# 背景 这几天写代码时,正好遇到了一个需求,需要将数组按指定大小进行分隔,然后进行拼接成字符串(以逗号进行分隔)。为此有了这篇文章。 # 实现 ```go package main import ( "fmt" "strconv" "strings" ) func main() { var arr []string for i := 0; i < 11; i++ { str := strconv.Itoa(i) arr = append(arr, str) } fmt.Println("println:", group(arr, 5)) res := group(arr, 5) for _, v := range res { rt := strings.Join(v, ",") fmt.Println(rt) } } // 将数组 laxiconid 按指定大小进行分隔 func group(laxiconid []string, subGroupLength int64) [][]string { max := int64(len(laxiconid)) var segmens = make([][]string, 0) quantity := max / subGroupLength remainder := max % subGroupLength i := int64(0) for i = int64(0); i < quantity; i++ { segmens = append(segmens, laxiconid[i*subGroupLength:(i+1)*subGroupLength]) } if quantity == 0 || remainder != 0 { segmens = append(segmens, laxiconid[i*subGroupLength:i*subGroupLength+remainder]) } return segmens } ``` **结果:** ```go println: [[0 1 2 3 4] [5 6 7 8 9] [10]] 0,1,2,3,4 5,6,7,8,9 10 ``` > 文章也会持续更新,可以微信搜索「 迈莫coding 」第一时间阅读。

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

516 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传