Golang Books
16.6K subscribers
277 photos
3 videos
334 files
265 links
Библиотека Golang разработчика

По всем вопросам- @haarrp

@Golang_google - Golang

@golangl - golang chat

@GolangJobsit - golang channel jobs

@golangtests golang tests

@itchannels_telegram - 🔥лучшие ит-каналы

№ 5032829002
Download Telegram
Как упорядочить код на Go и сделать его масштабируемым? 

➡️ На открытом уроке 20 августа в 20:00 МСК мы разберём, что такое пакеты в Go, как правильно организовывать структуру папок и работать с модулями.

❗️Вы получите знания о том, как избежать частых ошибок и эффективно использовать Go в реальных проектах.

🔴 Присоединяйтесь к открытому вебинару «Golang Developer. Basic»: https://tglink.io/c8810226e6d9?erid=2W5zFHykW48

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
2
Forwarded from Golang
💥 Необычное поведение структур

В недавнем блоге Мэтта Холла поднята важная деталь, о которой некоторые забывают.

Автор показывает, что при встраивании (`embedding`) структур Go может выбрать неочевидное поле, даже если кажется, что это вызовет ошибку.

Пример:


type FooService struct { URL string }
type BarConnectionOptions struct { URL string }
type BarService struct { BarConnectionOptions }
type Options struct {
FooService
BarService
}

opts := Options{
FooService: FooService{URL: "abc.com"},
BarService: BarService{
BarConnectionOptions: BarConnectionOptions{URL: "xyz.com"},
},
}
fmt.Println(opts.URL)


Вы думаете, тут компиляция не пройдёт из-за неоднозначности?

Но, она завершится успешна — и начпечатает abc.com.

Go выбирает наименее вложенное поле URL, в данном случае FooService.URL.

Урок: будьте осторожны с struct embedding! Переиспользование полей может скрывать баги, особенно когда поля именованы одинаково, а уровни вложенности различны.

📌 Пост

@golang_google

#golang #go
👍9😁43
📚 Кейс: как ВКонтакте переобучила часть команды на Go

ВКонтакте переходит на сервисную архитектуру и переводит бэкенд на Go. Главная задача — построить высоконагруженную распределенную систему, где каждая команда автономно разрабатывает свой сервис.

🔹 Технические вызовы

Перепроектирование архитектуры с учётом PaaS-платформы.

Интеграции с внутренними сервисами.

🔹 Программа переобучения для внутренних сотрудников

140+ инженеров из компании прошли интерактивный курс по переходу на Go

Синтаксис Go изучали самостоятельно — курс сразу начинался с архитектурных и инфраструктурных задач

Практика: проектирование каркаса микросервиса в условиях, максимально приближенных к реальным задачам компании

💡 Вывод: кейс ВКонтакте показывает, как знания о продукте сохраняются внутри компании, почему эффективнее инвестировать в собственников сотрудников, а не распыляться в найме.

#golang #microservices @golang_books
🔥5😁1