2016-08-18 7 views

ответ

2

Согласно cgo documentation вам нужно использовать функцию C.CString, чтобы преобразовать строку Перейти в строку C:

cstr = C.CString(str) 

Имейте в виду, что функция C.CString выделяет память для вас, но не будет выпускать его, так что это ее ответственность, чтобы освобожденная память с вызовом, как:

C.free(unsafe.Pointer(cstr)) 
+0

лучше с 'Defer C.Free (unsafe.Pointer (ПРМ))' идти позвонит, когда функция возвращает – Bear0x3f