Функция, вызываемая сборщиком мусора после того, как объект стал недостижим. Не гарантируется момент вызова и порядок. Используют для освобождения внешних ресурсов (C, файлы), но предпочтительнее явный Close. Нельзя полагаться на finalizer для критичной логики.
runtime.SetFinalizer(obj, func(o *T) { o.close() })