我试图在Golang中重新加载一个插件,我正在使用Go 1.8。我尝试再次打开插件但是没有用(Open打开一个Go插件。如果已经打开了一个路径,那么返回现有的*插件。多个goroutine可以安全地同时使用它。 - Go插件打开文档)。我想知道是否可以在不重新运行服务器的情况下重新加载?
答案 0 :(得分:2)
据我所知,这是不可能的,因为go无法卸载共享库。在插件中创建了一些对象,并从程序中引用它时,它无法进行垃圾收集。请参阅此问题:https://github.com/golang/go/issues/11100