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]]
github オープンソース プロジェクトのアドレス: https://github.com/qr/gopy