將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 char 數組和Go 位元組數組之間進行有效轉換,從而促進兩種語言之間的互通性.
以上是如何將 C char 數組轉換為 Go 位元組數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!