goPyGo 语言编写 CPython 扩展

联合创作 · 2023-10-01 12:23

goPy 是一个新的开源项目,实现了用 Go 语言来编写 CPython 扩展。


示例代码:


package simple

import (
"fmt"
"gopy"
)

func example(args *py.Tuple) (py.Object, error) {
fmt.Printf("simple.example: %v\n", args)
py.None.Incref()
return py.None, nil
}

func init() {
methods := []py.Method{
{"example", example, "example function"},
}

_, err := py.InitModule("simple", methods)
if err != nil {
panic(err)
}
}
编译方法:
> gopy pymodule.go
使用方法:
import simple

simple.example("hello", {123: True})
输出结果:
simple.example: [hello map[123:true]]
浏览 25
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报