В прошлогоднем посте в блоге про пакет unique упомянули о некоторых новых функциях, которые тогда находились на стадии обсуждения. И теперь с Go 1.24 эти функции доступны всем разработчикам на Go.
Речь идёт о runtime.AddCleanup, которая добавляет функцию в очередь на выполнение, когда объект становится недоступным, и о типе weak.Pointer, который позволяет безопасно ссылаться на объект, не мешая сборщику мусора его удалить. Вместе эти две функции дают достаточно возможностей, чтобы создать свой собственный аналог пакета unique! Давайте разберёмся, чем они полезны и когда их стоит использовать.
18.03.2025
Похожее
28.09.2026
C на Go
Интересный пропозал - добавить возможность сборки Go-пакетов, использующих cgo д...
25.09.2026
Бенчим джейсон
Автор на реальном API с нагрузкой 50M запросов/сутки)сравнивает производительнос...
24.09.2026
Rune
Команда Unstable Build заопенсорсила свою нативную IDE Rune, написанную на Go. ...
23.09.2026
Специализированные аллокаторы
В Go 1.27 появилась оптимизация выделения памяти для объектов размером до 80 бай...