Este é um exemplo para mostrar como baixar um arquivo de maneira eficiente.
Se uma URL suportar cabeçalho http - Accept-Ranges
, ela será dividida em várias partes e baixada simultaneamente.
Baixe um arquivo com 5 conexões (padrão: 5)
./golang-parallel-download-with-accept-ranges
Nome do arquivo com carimbo de data/hora
./golang-parallel-download-with-accept-ranges -t
Especifique a contagem de conexões
./golang-parallel-download-with-accept-ranges -c=7
pb - mostra múltiplas barras de progresso
go get github.com/cheggaaa/pb
Mac
GOOS=darwin GOARCH=amd64 go build -o download.command
Windows
GOOS=windows GOARCH=amd64 go build -o download.exe