SWIG:从Python调用Go

时间:2012-03-31 14:39:57

标签: python go swig

可以使用SWIG从Python调用Go函数吗?

我在SWIG中看到的Go示例似乎都是从Go调用C / C ++函数。

1 个答案:

答案 0 :(得分:1)

其中一个Go编译器生成C(cgo)。我从来没有看过它,但可能有一条路径通过SWIG从Python调用这些函数。

它们也是Cython,它将Python形式转换为C,因此可以通过将两者与C组合作为粘合剂而不使用SWIG来提供另一个更直接的路径。

Python WM的Cython用户告诉我,Cython可以生成C,它不需要“魔术”运行时间。他们的技术是使用Cython机制,例如cdef,使他们的Python更接近C.通过改变Cython源然后迭代地查看Cython输出,他们说他们可以导致Python运行时“消失”,并且达到'纯'C。这不是理想的,但可能总比没有好。

所以你可能能够使用这些机制来包装已编译为C的Go函数。但是这种方法会限制你使用Cython,这可能会太过于限制了。