目前,您无法使用Go编写可在其他语言中使用的库。Go具有运行时环境,可以为您执行许多操作(例如调度go-routines、收集垃圾)。此运行时环境是在假定其控制整个程序的情况下编写的。如果来自另一种语言的程序要使用Go代码,则该假设不成立,因为Go库无法影响使用它的二进制文件。
C
(和其他一些语言)中调用Go
,但这并不美观,而且会带来很多麻烦,除非我别无选择,否则我不会使用从其他语言编写的Go
库。你可以在这里阅读有关从C
调用Go
的信息:http://cheesesun.blogspot.com/2010/04/callbacks-in-cgo.html 。我认为你会在使用C#和Java时面临类似的问题,对于Python我不确定。 - PeteGo
库。你只能在Go
程序中使用cgo
从C
调用Go
。你的程序必须在Go
运行时中运行。 - JimB