C char 配列から Go バイト配列への変換
Go では、C char 配列からバイト配列への変換はさまざまな方法で実現できます。 。最も簡単なアプローチの 1 つは、char 配列を Go スライスにコピーすることです。これにより、配列サイズを明示的に指定する必要がなくなります。
mySlice := C.GoBytes(unsafe.Pointer(&C.my_buff), C.BUFF_SIZE)
あるいは、コピーを作成せずにメモリを直接利用するには、次のようにすることもできます。 unsafe.Pointer キャスト。配列型が必要な場合は、スライスを配列に変換する必要があります。
mySlice := unsafe.Slice((*byte)(unsafe.Pointer(&C.my_buf)), C.BUFF_SIZE) myArray := ([C.BUFF_SIZE]byte)(mySlice)
これらの手法のいずれかを採用すると、C char 配列と Go バイト配列の間で効果的に変換でき、2 つの言語間の相互運用性が容易になります。 .
以上がC char 配列を Go Byte 配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。