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

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

@Golang_google - Golang

@golangl - golang chat

@GolangJobsit - golang channel jobs

@golangtests golang tests

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

№ 5032829002
Download Telegram
Forwarded from Golang
📘 "Go 101" популярная серия бесплатных книг обновлена под новую версию Golang 1.25 — сразу в четырёх разделах:

🚀 Go Optimizations 101: https://go101.org/optimizations/101.html
💡 Go Details & Tips 101: https://go101.org/details-and-tips/101.html
🔧 Go Generics 101: https://go101.org/generics/101.html
📖 Go 101: https://go101.org/article/101.html

@golang_google

#golang #freebook #education #book #go
11👍8🔥3🥰1
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
👍11😁43
📚 Кейс: как ВКонтакте переобучила часть команды на Go

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

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

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

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

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

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

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

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

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

#golang #microservices @golang_books
🔥123👍3😁1🤬1
Интересный факт про работу Go

Обычно неиспользуемые методы в проекте не попадают в итоговый бинарник.
Но если в коде есть хотя бы один вызов MethodByName через reflection —
в бинарь будут скомпилированы все методы, даже неиспользуемые.

https://github.com/golang/go/issues/62024

#golang #programming #reflection
6👍5🔥1🥰1