gpt4 book ai didi

arrays - Go - 使用序列从 URL 下载文件

转载 作者:IT王子 更新时间:2023-10-29 02:19:15 26 4
gpt4 key购买 nike

我正在尝试使用 GoLang 学习一些新东西,但有点卡住了,可能是因为我不太擅长使用数组。

所以这是我想做的:

  1. 创建变量。
  2. 使用该变量下载。
  3. 为该变量添加++1
  4. 下载并添加 1

然后循环 10 次。

我对第 1 点和第 2 点都很好,但对第 3 点和第 4 点不太满意。:)。

所有文件都以 .pdf 格式提供,这就是我在那里制作 strconv 的原因。

我可能应该在 main 中创建某种循环,并在其中使用一些数组参数调用 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
}

最佳答案

试试这个。

package main

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

func main() {
url_id_num := 23430815+2
for i := 0; i < 10; i++ {
url_id := strconv.Itoa(url_id_num+i)
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
}

关于arrays - Go - 使用序列从 URL 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55761090/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com