golang实现数组分割的示例代码
作者:_little_stone 时间:2024-05-08 10:23:41
需求:给定一个数组和一个正整数,要求把数组分割成多个正整数大小的数组,如果不够分,则最后一个数组分到剩余的所有元素。
示例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 <= num {
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 <= quantity; i++ {
end = i*num
if i != quantity {
segments = append(segments, arr[start:end])
} else {
segments = append(segments, arr[start:])
}
start = i*num
}
return segments
}
附:这个是我在实际业务需求中遇到的问题,不知道大家有没有更好写法
来源:https://blog.csdn.net/MCJPAO/article/details/108431657
标签:golang,数组分割
0
投稿
猜你喜欢
一文带你学会Mysql表批量添加字段
2024-01-22 20:03:04
tensorflow 自定义损失函数示例代码
2023-03-13 21:37:18
python协程用法实例分析
2021-09-03 15:48:01
解决Pytorch在测试与训练过程中的验证结果不一致问题
2022-08-18 03:50:13
oracle执行cmd的实现方法
2009-04-24 12:10:00
python3 requests中文乱码之压缩格式问题解析
2021-12-13 17:03:28
Thinkphp3.2.3反序列化漏洞实例分析
2023-06-14 11:27:37
pyqt5 QListWidget的用法解析
2023-09-24 21:30:31
一次性压缩Sqlserver2005中所有库日志的存储过程
2024-01-28 13:40:13
Python常见库matplotlib学习笔记之多个子图绘图
2023-02-17 19:40:14
MySQL学习(七):Innodb存储引擎索引的实现原理详解
2024-01-25 05:53:02
python操作jira添加模块的方法
2022-01-20 12:41:42
xhEditor的异步载入实现代码
2022-01-29 10:40:28
php封装的单文件(图片)上传类完整实例
2024-05-03 15:50:18
python+opencv实现文字颜色识别与标定功能
2023-09-05 02:25:27
python处理DICOM并计算三维模型体积
2022-07-16 09:24:29
MyBatis-plus+达梦数据库实现自动生成代码的示例
2024-01-16 03:41:42
MySQL数据库对dvbbs.php全文搜索的完全分析
2010-06-11 13:25:00
python 中pyqt5 树节点点击实现多窗口切换问题
2021-07-28 06:19:39
Python中的高级函数map/reduce使用实例
2021-11-07 06:57:23