Range по функциям в Go 1.23
В Go 1.23 добавлена новая возможность *ranging over functions* (итераторы)...
В Go 1.23 добавлена новая возможность *ranging over functions* (итераторы)...
sync.Pool - это место, где вы можете хранить временные объекты для последующего использования....
В 2023 году benchstat был полностью переработан: появились проекции(projections), фильтрация и группировки, позволяющие проводить надежные сравнения по любому измерению, определяемому вашими суббенчмарками (они же «cases»)...
WaitGroup - это способ подождать, пока несколько горутин закончат свою работу. Мы начнем с основ, а затем разберемся, как это устроено под капотом....
Mutex, или MUTual EXclusion, в Go - это способ убедиться, что только одна горутина одновременно работает с общим ресурсом. Этим ресурсом может быть кусок кода, целое число, map, структура, канал или практически все, что угодно....
Обзор профилировщиков, встроенных в среду выполнения Go: CPU Profiler, Memory Profiler, Block Profiler и Mutex Profiler....
Основная задача Go - мультиплексировать и абстрагировать аппаратные ресурсы, подобно операционной системе. Для этого обычно используются две основные абстракции: Планировщик Goroutine(Goroutine Scheduler) и Сборщик мусора(Garbage Collector)...
Рассмотрим вызовы методов интерфейса в C++ (GCC), Java (OpenJDK/HotSpot), C# (CLR), Go и Rust....
Interning - это процесс хранения в памяти только одной копии значения и совместного использования уникальной ссылки на нее вместо аллокации нескольких копий и траты памяти....
В этой статье объясняется разница между динамической диспетчеризацией (поздним связыванием) и статической диспетчеризацией (ранним связыванием). Мы также коснемся различий в языковой поддержке виртуальных и статических методов и того, как можно избежать использования виртуальных методов....