教你如何運用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實現陣列分割的示例程式碼的文章就介紹到這了
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2855481/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 教你如何運用golang 實現陣列的隨機排序Golang陣列隨機排序
- golang陣列分割Golang陣列
- 教你如何運用python/golang實現迴圈連結串列PythonGolang
- golang實現稀疏陣列Golang陣列
- 陣列分割陣列
- JavaScript中指定大小分割陣列的一種實現JavaScript陣列
- 如何實現陣列去重?陣列
- join 分割陣列陣列
- Java陣列的運用Java陣列
- 教你如何運用python實現學生資訊管理系統Python
- 教你如何運用python實現簡單檔案讀寫函式Python函式
- golang 陣列去重 移除陣列指定元素Golang陣列
- PHP中array_chunk() 函式如何分割陣列PHP函式陣列
- 教你如何運用python實現不同資料庫間資料同步功能Python資料庫
- golang實現併發爬蟲三(用佇列排程器實現)Golang爬蟲佇列
- (二)golang陣列和切片Golang陣列
- golang 陣列面試題Golang陣列面試題
- Golang陣列注意細節Golang陣列
- golang-陣列基本使用Golang陣列
- golang基礎之陣列Golang陣列
- 陣列排序的實現陣列排序
- JavaScript split() 分割字串生成陣列JavaScript字串陣列
- c語言中實現4行3列矩陣和3行4列矩陣的運算C語言矩陣
- Java陣列如何實現動態初始化Java陣列
- 位運算實現整數與位元組陣列轉換陣列
- 【建議收藏】徒手實現24+陣列方法,誰說你只是“會用”陣列陣列
- Golang 實現 RabbitMQ 的死信佇列GolangMQ佇列
- golang 之slice 變長陣列Golang陣列
- 基於 golang 實現的泛型陣列,支援動態擴容等特性Golang泛型陣列
- JS實現陣列去重JS陣列
- PHP 陣列底層實現PHP陣列
- JavaScript 中實現等分陣列JavaScript陣列
- 靜態佇列,迴圈陣列實現佇列陣列
- golang如何實現單例Golang單例
- Golang 實現 RabbitMQ 的延遲佇列GolangMQ佇列
- C++陣列在年曆列印中的運用C++陣列
- js實現把textarea通過換行或者回車把多行數字分割成陣列,並且去掉陣列中空的值。JS陣列
- golang切片和陣列的區別Golang陣列