想知道如何在一个项目中链接两种语言。我对 Golang 和 Python 特别感兴趣,我想编写一个可以解析来自多个站点的大量信息的电报机器人。但是在Golang中实现bot本身不太适合我,我想用Python构建bot的“引擎”,并从Golang中获取解析信息,请问有哪些实现方式?
想知道如何在一个项目中链接两种语言。我对 Golang 和 Python 特别感兴趣,我想编写一个可以解析来自多个站点的大量信息的电报机器人。但是在Golang中实现bot本身不太适合我,我想用Python构建bot的“引擎”,并从Golang中获取解析信息,请问有哪些实现方式?
您总是可以编写一个小型 Go 应用程序来解析数据文件并将数据放入另一个文件中。python 脚本将准备这个文件并运行应用程序。这两个应用程序是用什么语言编写的并不重要。
是的,您可以使用套接字、管道或共享内存来代替文件。但这些是实现细节。
第二种方法是创建一个库(dll/ so)并在 python 中使用它。在Habré 上有一篇关于这个主题的文章(原文)。这样做的结果就是 - 在 python 中“将会有新函数”,您可以将其用作普通函数。
UPD
好吧,最“变态”的——没有人费心在旅途中编写一个 http 服务器,并从 python 调用它。虽然这是在一台机器上,但它看起来很疯狂,但如果你将 go 服务器放在负载均衡器后面的单独服务器上,那么一切都可以焕发出新的色彩。