You can do this with unsafe.Pointer
and C.GoStringN
:
data := (*C.char)(unsafe.Pointer(result.data))
data_len := C.int(result.data_len)
fmt.Println(C.GoStringN(data, data_len))
And the most simple way:
data := (*C.char)(unsafe.Pointer(result.data))
fmt.Println(C.GoString(data))