Как стать автором
Обновить
0
0

Пользователь

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

Что Go может инлайнить, а что нет 

Прошу мне немного пояснить.

Есть main, который вызывает foofoo вызывает barbar вызывает runtime.Caller ...

Правильно ли я понял, что ни одна функция не заинлайнится?

Вопрос следующий. У меня есть сервис -> в нем логгер -> внутри логгера, у функции log.Error() есть runtime.Caller(1), чтобы сразу видеть где ошибка (Пишет имя файлика и строку). Получается ли так, что раз сервис создается еще в main, то вообще никакого инлайнинга у меня в итоге нет?

P.S. debug.Stack() я так понимаю с инлайном работает нормально?

И правда паттерны "простые", которые были описаны не один десяток раз. Надеюсь на продолжение с более интересным наполнением.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность