Pull to refresh
0
0

User

Send message

Система типов и интерфейсы в Go (статическая типизация)

Level of difficultyMedium
Reading time12 min
Reach and readers6.1K

🧠 Система типов и интерфейсы в Go — это не просто о struct и interface{}.
Это про то, как язык заставляет проектировать надёжные, безопасные и предсказуемые системы.
В статье — от основ статической типизации до тонкостей работы интерфейсов, type assertion и generics.

В статье разбираем:
🔹 Как работает система типов Go и почему интерфейсы — это не классы.
🔹 Что такое type embedding и interface satisfaction.
🔹 Как использовать пустой интерфейс (interface{}) безопасно.
🔹 Чем опасны type assertions и где лучше применять type switch.
🔹 Как работают Generics (Go 1.18+) и как они сочетаются с интерфейсами.
🔹 Почему вызовы через интерфейсы влияют на производительность, и как это профилировать.
🔹 Где проходят границы между гибкостью и безопасностью типов.

Читать далее

Конкурентность — горутины и каналы

Level of difficultyMedium
Reading time18 min
Reach and readers6.4K

🌀 Конкурентность в Go: горутины и каналы — просто о сложном

Go изначально создавался для высоконагруженных и сетевых систем, где параллелизм и конкурентность — ключевые факторы производительности. Его философия проста: «не делись памятью для общения, общайся, чтобы делиться памятью».

В статье разберём:
✅ Что такое горутины и как Go управляет миллионами их одновременно.
✅ Как работают каналы и зачем они нужны для безопасного обмена данными.
✅ Как планировщик Go (GMP-модель) распределяет нагрузку между потоками.
✅ Типичные ошибки: deadlock, race condition, блокировки и как их избегать.
✅ Практические примеры — от простых пайплайнов до паттернов Fan-in/Fan-out.

Читать далее

Information

Rating
Does not participate
Registered
Activity

Specialization

Бэкенд разработчик, Фулстек разработчик
Средний
From 2,000 $
JavaScript
TypeScript
Angular
Rust
Git
SQL
C#
ASP.NET MVC
.NET
Docker