ホームページ >バックエンド開発 >Golang >C char 配列を Go Byte 配列に変換するにはどうすればよいですか?

C char 配列を Go Byte 配列に変換するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-04 12:03:13660ブラウズ

How Can I Convert a C char Array to a Go Byte Array?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。