C char 배열을 Go 바이트 배열로 변환
Go에서는 다양한 방법을 통해 C char 배열을 바이트 배열로 변환할 수 있습니다. . 가장 간단한 접근 방식 중 하나는 char 배열을 Go 슬라이스에 복사하는 것입니다. 그러면 배열 크기를 명시적으로 지정할 필요가 없습니다.
mySlice := C.GoBytes(unsafe.Pointer(&C.my_buff), C.BUFF_SIZE)
또는 복사하지 않고 메모리를 직접 활용하려면 다음을 사용할 수 있습니다. 안전하지 않은 포인터 캐스트. 이를 위해서는 배열 유형이 필요한 경우 슬라이스를 배열로 변환해야 합니다.
mySlice := unsafe.Slice((*byte)(unsafe.Pointer(&C.my_buf)), C.BUFF_SIZE) myArray := ([C.BUFF_SIZE]byte)(mySlice)
이러한 기술 중 하나를 채택하면 C 문자 배열과 Go 바이트 배열 간에 효과적으로 변환할 수 있어 두 언어 간의 상호 운용성을 촉진할 수 있습니다. .
위 내용은 C 문자 배열을 Go 바이트 배열로 어떻게 변환할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!