Проверяет знание обработки HTTP-статус-кодов в Go для определения успешности ответа.
При работе с HTTP-запросами в Go важно уметь определять, был ли ответ успешным. Стандартная библиотека net/http предоставляет структуру http.Response, которая содержит поле StatusCode типа int. Успешными считаются статус-коды в диапазоне 200-299.
package main
import (
"fmt"
"net/http"
)
func main() {
resp, err := http.Get("https://api.example.com/data")
if err != nil {
fmt.Println("Ошибка запроса:", err)
return
}
defer resp.Body.Close()
// Проверка успешности
if resp.StatusCode == http.StatusOK {
fmt.Println("Успешный ответ")
} else if resp.StatusCode >= 400 {
fmt.Printf("Ошибка клиента: %d\n", resp.StatusCode)
} else {
fmt.Printf("Статус: %d %s\n", resp.StatusCode, http.StatusText(resp.StatusCode))
}
}Проверка статус-кода обязательна при работе с HTTP в Go. Используйте константы из пакета net/http для читаемости кода и всегда обрабатывайте ошибки, чтобы избежать неожиданного поведения приложения.