
io.Reader и io.Writer в Go
Интерфейсы io.Reader и io.Writer являются одними из самых часто используемых инструментов в процессе работы с вводом и выводом данных...
Интерфейсы io.Reader и io.Writer являются одними из самых часто используемых инструментов в процессе работы с вводом и выводом данных...
Что быстрей — fmt.Sprintf или конкатенация строк?...
Финализатор — это функция, привязанная к объекту и предназначенная для выполнения определенных действий, когда сборщик мусора решает, что объект больше не нужен....
Операция взятия по модулю применяется для ограничения значения хэш-функции размером массива. Это делает её полезной в хэш-таблицах для выбора соответствующего бакета или в циклических структурах данных, таких как ring-buffer. Так же в некоторых алгоритмах генерации псевдослучайных чисел операция взятия по модулю используется для ограничения диапазона значений....
map — это встроенный тип данных, предназначенный для хранения пар ключ-значение. В отличие от массивов, где ключи являются возрастающими индексами, такими как 0, 1, 2 и так далее, в map ключ может представлять собой любой сопоставимого(comparable) тип....
Слабый указатель (weak pointer) — это указатель, который ссылается на участок памяти без его блокировки, позволяя сборщику мусора удалить этот участок, если больше никто не удерживает его активно....
Когда горутина ожидает определённого события, например, изменения общих данных, она может «блокироваться», то есть приостанавливать свою работу до тех пор, пока не получит разрешение на продолжение....
Переменная GOMAXPROCS ограничивает количество потоков операционной системы, которые могут одновременно выполнять user-level Go код. Количество потоков, которые могут быть заблокированы в системных вызовах от имени кода Go, не ограничено; они не учитываются в ограничении GOMAXPROCS...
В Go 1.23 добавлена новая возможность *ranging over functions* (итераторы)...
sync.Pool - это место, где вы можете хранить временные объекты для последующего использования....