gitee.com/h79/goutils@v1.22.10/common/file/tools/chunk.go (about) 1 package tools 2 3 import ( 4 fileconfig "gitee.com/h79/goutils/common/file/config" 5 ) 6 7 func Chunk(size int64, chunkNum int) []fileconfig.Chunk { 8 9 var chunks []fileconfig.Chunk 10 var chunk = fileconfig.Chunk{} 11 var num = int64(chunkNum) 12 for i := int64(0); i < num; i++ { 13 chunk.Number = int(i + 1) 14 chunk.Offset = i * (size / num) 15 if i == num-1 { 16 chunk.Size = size/num + size%num 17 } else { 18 chunk.Size = size / num 19 } 20 chunks = append(chunks, chunk) 21 } 22 return chunks 23 } 24 25 func ChunkNum(size, minChunkSize int64) int { 26 return (int)(size/minChunkSize + 1) 27 }