Как стать автором
Обновить
2
0
Александр Покровский @alnpokrovsky

Хоббист-программист

Отправить сообщение

Возможно, вы невнимательно читали, и не заметили, что я никого не заставляю так делать. Более того, даже не рекомендую =D

По сравнению с приведенным в статье примером, конечно, Ваше решение быстрее. Однако, вам приходится использовать замыкание, чтобы каждый раз пробрасывать в count и аргументы функции sum, и переменную для сохранения результата. В моем же примере я использую запроксированную функцию так, как будто для нее ничего не изменилось. А еще обертка знает и аргументы вызванной функции, и ее результат, и может, например, выводить их в консоль. Или, допустим, проверять, вернула ли исходная функция ошибку. И если да, то попробовать выполнить ее еще несколько раз, пока она не вернет результат. При разумном использовании это может быть довольно интересным инструментом.

Но, как я и отмечал в конце статьи, использование рефлексии сильно замедляет код. И да, не очень-то типично для Go, ратующего за прозрачность. Отсюда и название "... и почему вам не стоит этого делать" )))

Информация

В рейтинге
Не участвует
Откуда
Смоленск, Смоленская обл., Россия
Дата рождения
Зарегистрирован
Активность