Golang | Вопросы собесов
4.7K subscribers
37 photos
960 links
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
💊1
🤔 Зачем нужны таймауты при http запросах?

Таймауты (timeout) в HTTP-запросах предотвращают зависание приложения при медленных или недоступных серверах. Они позволяют ограничить время ожидания ответа, чтобы избежать бесконечного ожидания и высвободить ресурсы.

🚩Основные типы таймаутов в Go (`net/http`)

В Golang таймауты можно устанавливать на разных уровнях:
Timeout для всего запроса (включает подключение, отправку и получение данных)
   client := &http.Client{
Timeout: 5 * time.Second, // Запрос не может длиться дольше 5 секунд
}


Таймаут на установку соединения
   transport := &http.Transport{
DialContext: (&net.Dialer{
Timeout: 2 * time.Second, // 2 секунды на подключение
}).DialContext,
}
client := &http.Client{Transport: transport}


Таймаут на чтение и запись
   transport := &http.Transport{
ResponseHeaderTimeout: 3 * time.Second, // 3 секунды на заголовки
}


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🤔 Как можно слить два слайса?

Слияние двух слайсов выполняется с помощью append:
1. Оператор ... разворачивает элементы второго слайса, добавляя их к первому.
2. Новый слайс может использовать новую память, если ёмкость исходного недостаточна.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1