cgo结果已经指针
我正在编写一些导出类似函数的代码:
package main import "C" //export returnString func returnString() string { // gostring := "hello world" return gostring } func main() {}
我使用go build -buildmode = c-shared构建.so和头文件,但是当我在我的C代码中调用returnString()时,我得到“恐慌:运行时错误:cgo结果有Go指针”
在1.9中有没有办法解决这个问题?
您需要将go字符串转换为*C.char
。 C.Cstring
是实用function。
package main import "C" //export returnString func returnString() *C.char { gostring := "hello world" return C.CString(gostring) } func main() {}