golang實現(xiàn)數(shù)組分割的示例代碼
需求:給定一個數(shù)組和一個正整數(shù),要求把數(shù)組分割成多個正整數(shù)大小的數(shù)組,如果不夠分,則最后一個數(shù)組分到剩余的所有元素。
示例1:
數(shù)組:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],正整數(shù):2
期望結(jié)果: [[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]
示例2:
數(shù)組:[1, 2, 3, 4, 5, 6, 7, 8, 9],正整數(shù):2
期望結(jié)果: [[1, 2], [3, 4], [5, 6], [7, 8], [9]]
下面是我的實現(xiàn)代碼:
//分割數(shù)組,根據(jù)傳入的數(shù)組和分割大小,將數(shù)組分割為大小等于指定大小的多個數(shù)組,如果不夠分,則最后一個數(shù)組元素小于其他數(shù)組 func splitArray(arr []int, num int64) [][]int { max := int64(len(arr)) //判斷數(shù)組大小是否小于等于指定分割大小的值,是則把原數(shù)組放入二維數(shù)組返回 if max <= num { return [][]int{arr} } //獲取應(yīng)該數(shù)組分割為多少份 var quantity int64 if max%num == 0 { quantity = max / num } else { quantity = (max / num) + 1 } //聲明分割好的二維數(shù)組 var segments = make([][]int, 0) //聲明分割數(shù)組的截止下標(biāo) 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 }
附:這個是我在實際業(yè)務(wù)需求中遇到的問題,不知道大家有沒有更好寫法
到此這篇關(guān)于golang實現(xiàn)數(shù)組分割的示例代碼的文章就介紹到這了,更多相關(guān)golang數(shù)組分割 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
golang監(jiān)聽ip數(shù)據(jù)包的實現(xiàn)步驟(golang純享版)
這篇文章主要給大家介紹了golang監(jiān)聽ip數(shù)據(jù)包的實現(xiàn)步驟,本文以ip4 作為案例進(jìn)行包抓取示范,ip6抓取與ip4方式異曲同工,可自行舉一反三得出,文中通過圖文結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02CentOS7使用yum安裝Golang的超詳細(xì)步驟
CentOS默認(rèn)并沒有安裝golang運行環(huán)境,下面這篇文章主要給大家介紹了關(guān)于CentOS7使用yum安裝Golang的超詳細(xì)步驟,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02go開源Hugo站點構(gòu)建三步曲之集結(jié)渲染
這篇文章主要為大家介紹了go開源Hugo站點構(gòu)建三步曲之集結(jié)渲染詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02構(gòu)建Golang應(yīng)用最小Docker鏡像的實現(xiàn)
這篇文章主要介紹了構(gòu)建Golang應(yīng)用最小Docker鏡像的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05深入了解Go的interface{}底層原理實現(xiàn)
本文主要介紹了Go的interface{}底層原理實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06golang?gorm學(xué)習(xí)之如何指定數(shù)據(jù)表
在sql中首先要指定是從哪張表中查詢,所以這篇文章小編就來帶大家一起看一下gorm是如何根據(jù)model來自動解析表名的,感興趣的小伙伴可以了解下2023-08-08