首页 > 技术文章 > swig官方go Examples 源码勘误

majianguo 2017-03-22 12:17 原文

勘误

在官网下载页面(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")

}

推荐阅读