recover() вернёт nil. recover работает только при вызове напрямую из deferred функции. Вызов в горутине, вложенной функции или обычном коде — всегда nil. Правильно: defer func() { if r := recover(); r != nil { fmt.Println(r) } }(). Также recover не ловит panic в другой горутине — каждая горутина должна иметь свой recovery.
Что не так: go fmt.Println(recover())?
Middle
125 просмотровAFK Offer AI
Что такое GitHub Container Registry?