Как получить параметр out из функции C на ходу?

У меня есть функция C, как показано ниже:

void sign(const char *in, int in_size, char *out, int *out_size);

Как использовать это в Go?

Я прав?

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)

На первый взгляд это выглядит правильно, у вас проблемы с этим кодом?

JimB 16.05.2018 17:43

он работает хорошо, но я не уверен, что это правильный путь

LJC 18.05.2018 05:56

Выглядит нормально, но мы не знаем, что такое sign и что он делает. Здесь нет проверки ошибок, и как вы это делаете, зависит от API sign.

JimB 18.05.2018 20:49

хорошо, спасибо большое

LJC 20.05.2018 03:58
Структурированный массив Numpy
Структурированный массив Numpy
Однако в реальных проектах я чаще всего имею дело со списками, состоящими из нескольких типов данных. Как мы можем использовать массивы numpy, чтобы...
T - 1Bits: Генерация последовательного массива
T - 1Bits: Генерация последовательного массива
По мере того, как мы пишем все больше кода, мы привыкаем к определенным способам действий. То тут, то там мы находим код, который заставляет нас...
Что такое деструктуризация массива в JavaScript?
Что такое деструктуризация массива в JavaScript?
Деструктуризация позволяет распаковывать значения из массивов и добавлять их в отдельные переменные.
0
4
189
0

Другие вопросы по теме