Предположим, что есть функция F
в пакете A
, чтобы код, который я создаю, нужно вызвать. Как мне это назвать?Ссылка на символ в пакете Go, не зная, находитесь ли вы в этом пакете?
Если я звоню из внешнего пакета A
, то я использую A.F(...)
, и если я внутри A
Я использую F(...)
. Но что, если Мерфи мешает мне узнать, что верно, или требует байт-идентичной работы в обоих?
[примечание: я принимаю это как данность, что такой случай произойдет, потому что, по моему опыту и наблюдениям, это, как правило, безопасное предположение. Даже в отсутствие технических причин для этого, PHB и законодатели являются хорошими источниками смешного.]
Не можете ли вы всегда использовать 'A.F()' на языке Go? Почему бы вам не знать об этом во время компиляции? –
Невозможно. Похоже, пользователи, похоже, как-то попадают. :) – twotwotwo
'A.F' изнутри' A' относится к 'A.A.F', которого не существует. - Я прошу об этом в основном из любопытства, если Go включает в себя побег-люк для этого или если он предположит, что мир всегда будет соответствовать его ожиданиям. – BCS