Networking 我可以编写go库以从其他语言使用吗?

Networking 我可以编写go库以从其他语言使用吗?,networking,dll,go,shared-libraries,portability,Networking,Dll,Go,Shared Libraries,Portability,我正在编写一个相对较小但不简单的网络库,它至少将在C、java、python、ruby和C#中使用。有没有一种方法可以像在表单C中那样将go绑定到其他语言?如果没有,还有别的办法吗 我想JSON服务会像您描述的那样。 请看一个简单的例子 无论您使用什么语言设置应用程序并从应用程序中获取数据,现在都无关紧要,您无法用Go编写可在其他语言中使用的库。Go有一个运行时环境,可以为您做很多事情(比如简化Go例程、收集垃圾)。这个运行时环境是在它控制整个程序的假设下编写的。如果从另一种语言内部使用Go代码

我正在编写一个相对较小但不简单的网络库,它至少将在C、java、python、ruby和C#中使用。有没有一种方法可以像在表单C中那样将go绑定到其他语言?如果没有,还有别的办法吗

我想JSON服务会像您描述的那样。 请看一个简单的例子
无论您使用什么语言设置应用程序并从应用程序中获取数据,现在都无关紧要,您无法用Go编写可在其他语言中使用的库。Go有一个运行时环境,可以为您做很多事情(比如简化Go例程、收集垃圾)。这个运行时环境是在它控制整个程序的假设下编写的。如果从另一种语言内部使用Go代码,则此假设不成立,因为Go库不会影响使用它的二进制文件。

如果希望库可以与其他语言共享,则可能应该用另一种语言编写库。您可以从
C
(以及其他一些语言)调用
Go
,但它并不漂亮,而且它足够麻烦,它会阻止我使用另一种语言编写的Go库,除非我没有其他选择。您可以从
C
这里了解有关调用
Go
的信息:您将面临来自C#的类似问题。我相信Java会更加困难。不确定Python。您不能从另一种语言链接到
Go
库。您只能使用
cgo
在围棋程序中从
C
调用
Go
。您的程序必须从运行时运行。@JimB对于此类项目,除了C之外,还有什么其他语言选择?您必须使用您想要的每种语言都可以使用的最低公分母,这种情况下可能是
C
,或者可能是
C++
?@JimB我不能将动态或静态链接库与任何其他语言一起使用吗?