Go语言编写CPython扩展goPy.zip

时间:2022-08-06 05:16:52
【文件属性】:

文件名称:Go语言编写CPython扩展goPy.zip

文件大小:73KB

文件格式:ZIP

更新时间:2022-08-06 05:16:52

开源项目

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]] 标签:goPy


【文件预览】:
gopy-master
----module_test.go(3KB)
----LICENSE(1KB)
----interrupt_test.go(658B)
----examples()
--------example()
--------shell()
----lock_test.go(541B)
----lib()
--------abstract.go(2KB)
--------unicode.go(5KB)
--------method.go(1003B)
--------frame.go(835B)
--------err.go(3KB)
--------exc.go(3KB)
--------exceptions.go(838B)
--------class.go(23KB)
--------class_sequence.go(3KB)
--------list.go(4KB)
--------float.go(1KB)
--------cfunction.go(3KB)
--------class_mapping.go(1KB)
--------doc.go(2KB)
--------type.go(2KB)
--------base.go(10KB)
--------eval.go(534B)
--------code.go(1KB)
--------gomod.go(1KB)
--------sequence.go(4KB)
--------arg.go(6KB)
--------object.go(3KB)
--------int.go(925B)
--------memory.go(4KB)
--------string.go(2KB)
--------module.go(3KB)
--------long.go(879B)
--------class_number.go(8KB)
--------utils.c(25KB)
--------function.go(3KB)
--------complex.go(1KB)
--------set.go(3KB)
--------dict.go(7KB)
--------.gitignore(29B)
--------utils.h(6KB)
--------lock.go(6KB)
--------tuple.go(3KB)
--------python.go(2KB)
--------bool.go(2KB)
--------mapping.go(3KB)
--------run.go(1KB)
--------class_standard.go(6KB)
--------chan.go(3KB)
--------number.go(11KB)
--------gen_exc.py(2KB)
--------file.go(2KB)
----README.md(672B)
----run_test.go(614B)

网友评论