2013-05-03 48 views
-3

如何将数据类型从c转换为go,反之亦然?使用C扩展Go编程语言,转换数据类型

例如,我有一个返回一个整数数组的函数:

char* Test() 
{ 
    char*msg = "Hello, Go"; 
    return msg; 
} 

我怎样才能将它转换为切片或数组?

--UPDATE--

在围棋的文件,我可以使用C.GoString(C.Test())的返回类型去String转换。我正在寻找这些功能的完整文档。

+0

请尝试创建你想要的代码,我们将帮助你解决具体的错误/问题。你的例子甚至不是有效的(或合理的)C代码(你不能像C那样返回一个数组)。 – 2013-05-03 15:00:13

+1

@AskBjørn汉森:其实,你可以。文字将超过功能。 – 2013-05-03 16:11:07

+1

'C.GoString'从C字符串中产生一个字符串,复制数据。还有什么可说的? – 2013-05-03 16:44:01

回答

7

你应该看看http://golang.org/cmd/cgo/。这里有一个使用它的例子http://golang.org/misc/cgo/gmp/gmp.go

+0

这很好,但我需要一些教程或文档,同时我没有时间研究源代码: – 2013-05-03 14:45:21

+3

@ zero.zero.seven http://golang.org/doc/articles/c_go_cgo.html是教程。 – 2013-05-03 14:49:44

+0

哪里是像C.GoString功能的文档? – 2013-05-03 15:00:58