转到-使用Sequence从URL下载文件

时间:2019-04-19 11:23:30

标签: arrays function go

我正在尝试使用GoLang学习一些新知识,并且遇到了一点麻烦,原因可能是我不太擅长使用数组。

这就是我想做什么:

  1. 设置变量。
  2. 使用该变量下载。
  3. 为该变量添加++ 1
  4. 下载时添加了1个

并循环播放10次。

我对第1点和第2点都很好,但对3和4一点都不喜欢。:p。

所有文件都以.pdf格式提供,这就是为什么我在那里创建该strconv的原因。

我可能应该在main中创建某种Loop,然后在其中调用带有某些数组参数的DownloadFile函数?

package main

import (
    "fmt"
    "io"
    "net/http"
    "os"
    "strconv"
)

func main() {
    url_id := strconv.Itoa(23430815+2)
    filename := url_id+".pdf"
    fileUrl := "https://someurLid="+url_id

    if err := DownloadFile(filename, fileUrl); err != nil {
        panic(err)
    }
    fmt.Println(fileUrl)
}


func DownloadFile(filepath string, url string) error {

    resp, err := http.Get(url)
    if err != nil {
        return err
    }
    defer resp.Body.Close()

    out, err := os.Create(filepath)
    if err != nil {
        return err
    }
    defer out.Close()

    _, err = io.Copy(out, resp.Body)
    return err
}

2 个答案:

答案 0 :(得分:2)

尝试一下。

_key

答案 1 :(得分:-2)

塞里斯·利蒙(CeriseLimón)给出了答案,那就是事实如何。

    arr := make([]uint8, 3) //How many times it loops
url_id := 23430815 //Starting from id, filename
for range arr {
    filename := strconv.Itoa(url_id)+".pdf"
    fileUrl := "https://someurl?id="+strconv.Itoa(url_id)

    if err := DownloadFile(filename, fileUrl); err != nil {
        panic(err)
    }
    fmt.Println(fileUrl)
    url_id++
}

感谢您指出我应该从哪里开始! :)。