如何将数据类型从c转换为go,反之亦然?使用C扩展Go编程语言,转换数据类型
例如,我有一个返回一个整数数组的函数:
char* Test()
{
char*msg = "Hello, Go";
return msg;
}
我怎样才能将它转换为切片或数组?
--UPDATE--
在围棋的文件,我可以使用C.GoString(C.Test())
的返回类型去String转换。我正在寻找这些功能的完整文档。
如何将数据类型从c转换为go,反之亦然?使用C扩展Go编程语言,转换数据类型
例如,我有一个返回一个整数数组的函数:
char* Test()
{
char*msg = "Hello, Go";
return msg;
}
我怎样才能将它转换为切片或数组?
--UPDATE--
在围棋的文件,我可以使用C.GoString(C.Test())
的返回类型去String转换。我正在寻找这些功能的完整文档。
你应该看看http://golang.org/cmd/cgo/。这里有一个使用它的例子http://golang.org/misc/cgo/gmp/gmp.go
这很好,但我需要一些教程或文档,同时我没有时间研究源代码: – 2013-05-03 14:45:21
@ zero.zero.seven http://golang.org/doc/articles/c_go_cgo.html是教程。 – 2013-05-03 14:49:44
哪里是像C.GoString功能的文档? – 2013-05-03 15:00:58
请尝试创建你想要的代码,我们将帮助你解决具体的错误/问题。你的例子甚至不是有效的(或合理的)C代码(你不能像C那样返回一个数组)。 – 2013-05-03 15:00:13
@AskBjørn汉森:其实,你可以。文字将超过功能。 – 2013-05-03 16:11:07
'C.GoString'从C字符串中产生一个字符串,复制数据。还有什么可说的? – 2013-05-03 16:44:01