1.软文推荐

2.软文推荐

3.软文推荐

本文主要介绍了golang实现数组分割的示例代码,要求把数组分割成多个正整数大小的数组,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

需求:给定一个数组和一个正整数,要求把数组分割成多个正整数大小的数组,如果不够分,则最后一个数组分到剩余的所有元素。

示例1:

数组:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],正整数:2
期望结果: [[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]

示例2:

数组:[1, 2, 3, 4, 5, 6, 7, 8, 9],正整数:2
期望结果: [[1, 2], [3, 4], [5, 6], [7, 8], [9]]

下面是我的实现代码:

//分割数组,根据传入的数组和分割大小,将数组分割为大小等于指定大小的多个数组,如果不够分,则最后一个数组元素小于其他数组
func splitArray(arr []int, num int64) [][]int {
 max := int64(len(arr))
 //判断数组大小是否小于等于指定分割大小的值,是则把原数组放入二维数组返回
 if max return [][]int{arr}
 }
 //获取应该数组分割为多少份
 var quantity int64
 if max%num == 0 {
  quantity = max / num
 } else {
  quantity = (max / num) + 1
 }
 //声明分割好的二维数组
 var segments = make([][]int, 0)
 //声明分割数组的截止下标
 var start, end, i int64
 for i = 1; i if i != quantity {
   segments = append(segments, arr[start:end])
  } else {
   segments = append(segments, arr[start:])
  }
  start = i*num
 }
 return segments
}

附:这个是我在实际业务需求中遇到的问题,不知道大家有没有更好写法

本文来源:www.lxlinux.net/9737.html,若引用不当,请联系修改。

相关文章 8

1

Linux系统vi 查找字符串方法教程 51秒前

vi文本编辑器是一个非常使用的编辑工具,使用vi编辑器时,常常被大量的内容高的头昏眼花,本篇文章为大家分享一下Linux中vi 查找字符串...

2

Linux下设置共享文件夹具体方法 4分钟前

公司和学校机房的电脑都处在同一个局域网,如果两台电脑传输大文件,用U盘或移动硬盘可能不太方便,害怕中毒,这时候最好的方式是建...

3

Linux命令行下常用svn命令 6分钟前

svn是Linux系统中一个版本控制软件,进行文件的一个版本的管理工具,接下来和大家分享一下Linux命令svn的相关Linux教程。 Linux命令行下常用...

4

Linux系统中软连接的建立与删除 8分钟前

Linux系统中软连接是什么?Linux系统如何建立软连接?Linux系统中的软连接就行windows中的快捷方式一样,访问深度较为长的文件或文件夹时,...

5

云主机可以玩游戏吗?答案有二种但很意外(云主机玩游戏教程) 9分钟前

云主机能玩游戏吗? 这个问题在我看来有些微妙,可以从两种角度去解释,一种是云主机能不能用来玩游戏,一种云主机适不适合玩游戏。...

6

阿里云最便宜的云服务器多少钱?阿里云便宜服务器购买优惠教程(阿里云最便宜的香港服 11分钟前

阿里云最便宜的云服务器多少钱? 阿里云服务器拼团96.9元一年,双十一降到后来降价为84.97元一年,再后来双十二ECS突发性能t5云服务器8...

7

云服务器和VPS的区别?云服务器和vps哪个好(vps和云服务器的区别超级vps管理器) 13分钟前

云服务器和vps的区别? 作为云服务器的前身,VPS因为种种限制,并未迎来自己的未来,而云服务器已经完全取代VPS,成为个人或者企业的首...

8

Android 明年将不再支持 32 位应用 14分钟前

上周,Google 正式发布了 Android 13 并率先向 Pixel 设备推送了系统更新,其他 OEM 厂商也将跟进这一最新系统,并会在今年晚些时候向他们旗下...