Да, если возвращаемое значение именованное. func f() (err error) { defer func() { err = cleanup() }(); ... } - defer может присвоить err, и функция вернёт это значение. Используется для оборачивания ошибки, логирования или подмены возврата.
func f() (err error) { defer func() { err = cleanup() }(); ... }