Arrays 如何从go中的C函数中获取out参数?

Arrays 如何从go中的C函数中获取out参数?,arrays,string,go,char,cgo,Arrays,String,Go,Char,Cgo,我有一个C函数,如下所示: void符号(常量字符*输入,整数输入\大小,字符*输出,整数*输出\大小) 如何在围棋中使用它? data:="123456" cData := C.CString(data) defer C.free(unsafe.Pointer(cData)) var _skcy [30]C.char var outLen C.int C.sign(cData, C.int(len(data)), &_skcy[0], &outLen) skcy := C.

我有一个C函数,如下所示:

void符号(常量字符*输入,整数输入\大小,字符*输出,整数*输出\大小)

如何在围棋中使用它?

data:="123456"
cData := C.CString(data)
defer C.free(unsafe.Pointer(cData))

var _skcy [30]C.char
var outLen C.int
C.sign(cData, C.int(len(data)), &_skcy[0], &outLen)

skcy := C.GoStringN(&_skcy[0], outLen-1)
我说的对吗?

data:="123456"
cData := C.CString(data)
defer C.free(unsafe.Pointer(cData))

var _skcy [30]C.char
var outLen C.int
C.sign(cData, C.int(len(data)), &_skcy[0], &outLen)

skcy := C.GoStringN(&_skcy[0], outLen-1)

乍一看,它看起来是正确的,您对此代码有问题吗?它工作正常,但我不确定它是否是正确的方式。它看起来不错,但我们不知道符号是什么,或者它的作用是什么。这里没有错误检查,如何检查取决于
sign
的api。好的,非常感谢