Go では、C データ構造を扱うときに、対応する Go 間の変換が必要になることがよくあります。種類。このような変換の 1 つは、C の文字配列 (char[1024]) を Go のバイト配列 ([1024]byte) に変換することです。
これらの型間で直接変換しようとすると、「できません」のようなエラーが発生する可能性があります。 (*_Cvar_my_buf) ([1024]C.char 型) を [1024]byte 型に変換します。これを克服するために、2 つのアプローチを紹介します。
推奨されるアプローチは、まず C.GoBytes():
mySlice := C.GoBytes(unsafe.Pointer(&C.my_buf), C.BUFF_SIZE)
mySlice := unsafe.Slice((*byte)(unsafe.Pointer(&C.my_buf)), C.BUFF_SIZE)
以上がC [1024]C.char 配列を Go [1024]byte 配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。