Junior — Middle
Comment peut-on retourner le résultat d'une fonction via le mécanisme Defer dans un langage de programmation?
sobes.tech IA
Réponse de l'IA
В языке Go ключевое слово defer используется для отложенного выполнения функции до момента выхода из окружающей функции. Это удобно для освобождения ресурсов или выполнения завершающих действий.
Чтобы вернуть результат функции через механизм defer, можно использовать именованный возвращаемый параметр. Тогда внутри defer можно изменить значение этого параметра, и оно будет возвращено из функции.
Пример:
func example() (result int) {
result = 1
defer func() {
result = 2 // изменяем возвращаемое значение
}()
return // возвращает result, который к этому моменту изменён на 2
}
// вызов example() вернёт 2
Таким образом, defer позволяет модифицировать возвращаемое значение функции перед её завершением, если используется именованный результат.