首页后端开发其他后端知识如何运用golang实现数组分割,代码是什么

如何运用golang实现数组分割,代码是什么

时间2024-03-26 10:34:03发布访客分类其他后端知识浏览458
导读:在实际案例的操作过程中,我们可能会遇到“如何运用golang实现数组分割,代码是什么”这样的问题,那么我们该如何处理和解决这样的情况呢?这篇小编就给大家总结了一些方法,具有一定的借鉴价值,希望对大家有所帮助,接下来就让小编带领大家一起了解看...
在实际案例的操作过程中,我们可能会遇到“如何运用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 = 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
}
    

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



以上就是关于如何运用golang实现数组分割,代码是什么的介绍,本文内容仅供参考,有需要的朋友可以借鉴了解看看,希望对大家学习或工作,想要了解更多欢迎关注网络,小编每天都会为大家更新不同的知识。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何运用golang实现数组分割,代码是什么
本文地址: https://pptw.com/jishu/653442.html
Javascript类选择器使用方法是什么? Golang函数式选项是怎样的模式

游客 回复需填写必要信息