в каких нет.
func (s Something) ThisFuncName(bug NotFeature) Something {
}
func (s *Something) ThisFuncName(bug *NotFeature) *Something {
}
Скорости работы могут быть разные, иногда быстрее работает копирование, но чаще поинтер.
У поинтера можно нарваться на сайд эффект(просто по ошибке) и потом долго дебажить, что не очень приятно.
Пытался написать разные бенчмарки, но понятной картины это не дает. Иногда разница в скорости в десятки раз...
Есть какие либо правила как лучше писать для высоконагруженных приложений? Или где почитать про лучшие практики на эту тему?
Также неименованные функции часто сильно тормозят, особенно если в них внутрь передаешь параметр какой-нить структуры, но опять же не всегда. Видимо по возможности нужно обходится без них?
Когда надо менять объект или объект большой, то указатели. Так же если всегда создаёте объект как указатель то тоже через указатель.
https://dave.cheney.net/tag/receivers
Обсуждают сегодня