Это невозможно в Go.Компоновщик должен знать зависимости во время компиляции, однако ваша строка (и функция init) оцениваются во время выполнения.Также обратите внимание, что части ваших программ, которые не используются, то есть все, что не указано явно, даже не будут частью окончательного двоичного файла - поэтому отражение также невозможно.
Если вам нужно что-то подобноеВы должны управлять отображением самостоятельно.Например, вы можете использовать глобальную карту в одном пакете и использовать функции init в других пакетах, чтобы зарегистрировать соответствующие функции, добавив их на карту.После этого вы можете использовать карту для динамического поиска.
Например, посмотрите на пакет http.В вымышленном блог-пакете вы можете использовать функцию blog.init (), чтобы зарегистрировать пару обработчиков http с помощью функции http.HandleFunc (pattern, handler).Главный пакет может затем вызвать http.ListenAndServe (), который ищет нужные обработчики во время выполнения.