Библиотека Go-разработчика | Golang
23.2K subscribers
1.9K photos
39 videos
87 files
4.3K links
Все самое полезное для Go-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/32d20779

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
🌍✈️ 6 идей, как ускорить поиск работы за рубежом

Статья для тех, кто устал от отказов и безрезультатных поисков. Узнайте секреты, которые помогут вам найти работу за рубежом в разы быстрее!

👉 Читать статью
Как проверить, пуст ли интерфейс (interface{}) в Go?

В Go интерфейс считается пустым, только если оба его компонента (динамическое значение и тип) равны nil. Однако есть нюансы, о которых стоит знать.

1️⃣ Прямая проверка с == nil
Если интерфейс действительно пустой (значение и тип nil), проверка if myInterface == nil вернет true.
var i interface{}
if i == nil {
fmt.Println("Интерфейс пустой")
}


2️⃣ Проблема с nil и типом
Если интерфейс содержит nil с типом (например, *int), он не будет считаться пустым.
var i interface{} = (*int)(nil)
if i == nil {
fmt.Println("Пустой") // Не выполнится
} else {
fmt.Println("Не пустой") // Вывод: Не пустой
}


3️⃣ Проверка через reflect
Для точной проверки используйте пакет reflect:
import "reflect"

func isEmptyInterface(i interface{}) bool {
return i == nil || reflect.ValueOf(i).IsZero()
}


💡 Итог:
Используйте if i == nil для простых случаев.
Для значений nil с типом — добавьте проверку через reflect.
Не забывайте, что интерфейс с типом, но nil-значением, не считается пустым.
Please open Telegram to view this post
VIEW IN TELEGRAM
Бесплатный курс по фулстек-разработке — реальность 🔥

Под Новый год Дед Мороз приносит подарки, а наши подписчики — собственные курсы! Сергей Дмитриев, который занимается коммерческой разработкой уже 15 лет, поделился с нами своим обучением по созданию веб-сервиса с нуля. В курс входит 141 урок, 28 часов видео, исходный код и чат поддержки для участников.

Подробнее о курсе читайте на Хабре или в телеграм-канале Сергея
С наступающим, Go сообщество! Или уже наступившим!🎆🎆

Уже придумали чем заняться в новом году? 😉
Если нет, то предлагаем вам подборку фильмов и сериалов к просмотру:

🔠 Остановись и гори (2014)
🅰️ Игра в имитацию (2014)
🔠 Revolution OS (2001)
©️ Разрабы (2020)
🔠 Кто я (2014)
Please open Telegram to view this post
VIEW IN TELEGRAM
Давайте признавайтесь в комментариях — что вам подарили? 👇
#интерактив
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет, Go сообщество!

Мы хотели бы поближе с вами познакомиться! Будем очень признательны за ваши ответы на следующие вопросы!
🎥🚀 Стриминг видео на Go: легко, быстро и просто!

Потоковая передача видео может показаться сложной задачей, но язык Go отлично справляется с этим! В статье автор рассказывает, как создать минималистичный HTTP-сервер для стриминга видео прямо в браузер.

В чём суть?
Как работает стриминг
Современные браузеры используют HTTP-заголовок Range, чтобы запросить только нужные части видео. Это позволяет воспроизводить видео без необходимости загружать весь файл.
Реализация на Go
В статье показано, как создать интерфейс, который обрабатывает запросы и отправляет запрошенные байты видеофайла клиенту.
Поддержка частичных запросов
Автор объясняет, как правильно настроить заголовки HTTP, такие как Content-Range и Content-Length, чтобы обеспечить плавный стриминг и совместимость с браузерами.

Почему это интересно?
Простота реализации
Вам не нужно использовать тяжёлые сторонние библиотеки — базовый сервер для стриминга можно собрать за несколько строк кода на Go.
Производительность Go
Go славится своей скоростью и возможностями для работы с сетью. Это делает его отличным выбором для задач, связанных с видео.
Современный подход
Статья соответствует стандартам RFC 7233, что гарантирует корректную обработку запросов браузера.

Зачем это вам?
Если вы хотите добавить потоковую передачу видео в свой проект, Go предоставляет мощный и простой инструмент для этого. Это может быть полезно для образовательных платформ, приложений для онлайн-курсов, медиа-хостинга или даже стриминга собственного контента.
Please open Telegram to view this post
VIEW IN TELEGRAM