На некоторых платформах, таких как Linux, вы можете собрать свой код Go с помощью -buildmode=c-shared
, чтобы получить общую библиотеку, которую затем можно связать с программой, написанной на другом языке, например C.
Некоторые примеры и документация приведены здесь.: https://github.com/vladimirvivien/go-cshared-examples
Обратите внимание, что это не делает Go языком сценариев - вам все равно нужно создавать разделяемые библиотеки из кода Go.Однако вы можете создать их во время работы приложения и загрузить их, используя dlopen()
и dlsym()
.Это так же, как вы могли бы скомпилировать код C, запустив компилятор C из своего приложения, а затем загрузить его.