👣 doWM

Красивый оконный менеджер для X11 полностью написанный на Go.

🔗 Репозиторий:
https://github.com/BobdaProgrammer/doWM

#golang #go

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37🔥15😱115🤬4😁2
🌟 Релиз Go 1.24.5 и 1.23.11!

🔐 Безопасность: включено исправление уязвимости в цепочке инструментов Go (CVE-2025-4674)

📡 Анонс: https://groups.google.com/g/golang-announce/c/gTNJnDXmn34/m/rdlFOriABQAJ

📦 Скачать: https://go.dev/dl/#go1.24.5

#golang #go #release

@golang_google
👍238🔥4
📘 "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
32👍17🔥10🥰1
💥 Необычное поведение структур

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

Автор показывает, что при встраивании (`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
👍388🔥8🤯4👏1