👁 В Go можно эффективно автоматизировать задачи. Вот пример, как можно автоматизировать процесс получения и обработки данных из внешнего API. Предположим, что нам нужно получить данные с публичного API и сохранить нужные параметры.
📝 Автоматический запрос данных с API и обработка ответа:
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"log"
"net/http"
)
type APIResponse struct {
ID int `json:"id"`
Name string `json:"name"`
}
func fetchData(url string) ([]APIResponse, error) {
resp, err := http.Get(url)
if err != nil {
return nil, err
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return nil, err
}
var data []APIResponse
if err := json.Unmarshal(body, &data); err != nil {
return nil, err
}
return data, nil
}
func main() {
url := "https://jsonplaceholder.typicode.com/users"
data, err := fetchData(url)
if err != nil {
log.Fatalf("Error fetching data: %v", err)
}
for _, item := range data {
fmt.Printf("ID: %d, Name: %s\n", item.ID, item.Name)
}
}📌 Как это работает:
- Отправка HTTP GET запроса: в коде используется пакет
net/httpдля отправки GET запроса на указанный URL. Полученный ответ от API сохраняется в переменнуюresponse. - Парсинг и вывод данных: ответ от API представлен в формате JSON, который парсится в структуру данных с помощью стандартной библиотеки
json. Затем из структуры извлекаются значения полейIDиName, которые выводятся на экран. - Обработка ошибок: в примере показана базовая обработка ошибок при вызове HTTP и при чтении/парсинге тела ответа.
❗️ Этот подход полезен для интеграции с внешними системами, сервисами и для создания сложных сценариев автоматизации, не требующих большой нагрузки на систему.
tags: #go #автоматизация #разработка



