Я изучаю Go и я настоящий новичок в этой области.
Я сталкиваюсь с проблемой при попытке скопировать какое-либо значение.
Что я делаю, это:
- Я хочу получить ответ в [ответ], используя httpRequest.
httpClient := &http.Client{}
response, err := httpClient.Do(req)
if err != nil {
panic(err)
}
- После этого я хочу сохранить сохраненное значение в ответ в файле origin.txt
origin_ ,_:= ioutil.ReadAll(response.Body)
f_, err := os.Create("origin.txt")
f_.Write(origin_);
- И я хочу получить конкретное значение с помощью пакета goquery.
doc, err := goquery.NewDocumentFromReader(response.Body)
if err != nil {
log.Fatal(err)
}
doc.Find(".className").Each(func(i int, s *goquery.Selection) {
w.WriteString("============" + strconv.Itoa(i) + "============")
s.Find("tr").Each(func(i int, s_ *goquery.Selection) {
fmt.Println(s_.Text())
w.WriteString(s_.Text())
})
}
)
Но в этом случае я могу получить значение в точности то, что я хочу из 2), но не могу получить ничего из 3).
Сначала, я думаю, проблема в том, что на объект ответа в 3) влияет 2) действие. Потому что это эталонный объект.
Поэтому я попытался скопировать его в другой объект, а затем повторить.
origin := *response
но я получил тот же результат, что и первый.
Что мне делать?
Как я могу присвоить ссылочное значение другому по его значению?
Стоит ли запрашивать его дважды за каждую попытку?