我一直在使用Python的库,我想做一些性能改进.
是否可以在Python中编写一些代码,在Go中编写一些代码,并在它们之间传递数据?如果有可能,有没有关于如何做到这一点的例子?
像这样:
# Python
def python_foo():
data = {'foo': 'val', 'bar': [1, 2, 3]}
go_process(json.dumps(data))
def python_got_data_from_go(data):
# deal with data from Go
# Go
func go_process(json string) {
// do some processing
python_got_data_from_go(someData)
}
Run Code Online (Sandbox Code Playgroud)
你需要在它们之间粘合,例如C编程语言或通过网络进行通信.如果你将https://docs.python.org/2/extending/extending.html与http://golang.org/cmd/cgo/和良好的编程技巧相结合,那么最痛苦的解决方案C.
您可以在python http://pymotw.com/2/socket/tcp.html中创建服务器,然后转到https://coderwall.com/p/wohavg并在它们之间进行通信.
编辑: 请参阅在Go(Golang)中编写Python扩展并从Go调用Python函数并获取函数返回值