小智 4
不同编程语言之间接口的通用语言是通过 C。您可以使用cgo之类的东西使您的 Go 代码可以通过 C 访问,然后使用 C 或 Python、Java 等中的“本机”绑定来调用它。
通常,开发人员只会在大型且维护良好的项目中经历这么多麻烦。如果您有一个个人项目并且性能不太重要,我建议通过 json (对于网络语言)或 stdout/stderr 管道(可能更多您想要的)进行通信。您可以从 Ruby 将命令打印到 stdout,并让 Go 代码处理请求并报告其 stdout。将输入和输出通过管道传输到另一个程序通常是可能的,尽管有时很棘手。CGI 程序就是这样工作的,产生其他语言的解释器并将数据传输到该解释器。
更新:如果你想传递对象,从 Go 回调 Java/Python/任何语言运行时都是很困难的;我想这需要根据绑定 API(Java、Python)进行不同的设计。如果绑定到位,也许您已经解决了这个问题?如果您可以不向回调传递任何参数(即它基本上是一个计时器回调),那么可能会更容易。最小化需要在 Go 中生成并用其他语言读取的数据。
| 归档时间: |
|
| 查看次数: |
455 次 |
| 最近记录: |