runtime.SetFinalizer устанавливает функцию, вызываемую когда GC собирает объект. Но есть подвохи: порядок вызова не гарантирован, финализер может воскресить объект, финализированный объект освобождается только в следующем GC цикле. Один объект — один финализер. Финализеры бегут в отдельной горутине. Лучше использовать explicit Close() и defer.
Как работают finalizers в Go?
Senior
71 просмотровAFK Offer AI
Как работает testing/iotest?