swig官方go Examples 源码勘误
勘误
在官网下载页面(http://www.swig.org/download.html )下载的swigwin-3.0.12包中go示例源码有个错误(swigwin-3.0.12\Examples\go\callback)。示例callback是一个c++调用go回调函数的例子,编译下载的源码输出不正确,runme.go设置go callback,执行时仍然调用了c++回调。
caller.SetCallback(go_callback)
caller.Call()
看了下文档 (23.4.7 Go Director Classes)、分析了示例源码,
Gocallback.go源文件中存在如下错误
func (p *goCallback) Run() {
fmt.Println("GoCallback.Run")
}
接受者类型应该为 overwrittenMethodsOnCallback
func (p *overwrittenMethodsOnCallback) Run() {
fmt.Println("GoCallback.Run")
}