После этого учебника и github repo я понял использование плагинов.
Учебник компилирует каждый файл отдельно в файлы so.
go build -buildmode=plugin -o eng/eng.so eng/greeter.go
go build -buildmode=plugin -o chi/chi.so chi/greeter.go
Как я могу объединить два файла в один .so файл? Я попробовал следующую команду, разделив файлы через пробел
go build -buildmode=plugin -o bin/langs.so src/test/eng/greeter.go src/test/chi/greeter.go
Ошибка:
все именованные файлы должны находиться в одном каталоге; есть src / test / eng / и
SRC / тест / CHI /
Идея состоит в том, чтобы иметь один .so файл из разных пакетов.
Редактировать: Я полагаю, что последующим вопросом будет то, как объединить все .so
файлы в один архив, если у вас есть несколько пакетов библиотеки, и go допускает только один .so
файл на пакет.