Я новичок в cgo и у меня есть пара вопросов по управлению памятью.
Скажем, у меня есть простая функция c, как показано ниже:
char* get_str_in_arr(char **charArr, size_t i){
return charArr[i];
}
мне нужно освободить память, как показано ниже:
func doSomething(){
cStr := C.get_str_in_arr(feats, C.size_t(1))
goStr := C.GoString(cStr)
defer C.free(unsafe.Pointer(cStr))
...
}
Если это так, мне нужно сделать это с любой переменной, возвращаемой из метода. Например c Struct, uint32_t, ... и т.д.