Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah saya Boleh Menukar Array C char kepada Array Go Byte?

Bagaimanakah saya Boleh Menukar Array C char kepada Array Go Byte?

Barbara Streisand
Barbara Streisandasal
2024-12-04 12:03:13659semak imbas

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

Menukar Array C char kepada Go Byte Array

Dalam Go, menukar tatasusunan C char kepada tatasusunan bait boleh dicapai melalui kaedah yang berbeza . Salah satu pendekatan yang paling mudah melibatkan penyalinan tatasusunan aksara ke kepingan Go, menghapuskan keperluan untuk menentukan saiz tatasusunan secara eksplisit.

mySlice := C.GoBytes(unsafe.Pointer(&C.my_buff), C.BUFF_SIZE)

Sebagai alternatif, untuk menggunakan memori secara langsung tanpa membuat salinan, anda boleh menggunakan balingan penunjuk yang tidak selamat. Ini memerlukan penukaran kepingan kepada tatasusunan jika jenis tatasusunan diperlukan.

mySlice := unsafe.Slice((*byte)(unsafe.Pointer(&C.my_buf)), C.BUFF_SIZE)
myArray := ([C.BUFF_SIZE]byte)(mySlice)

Mengguna pakai salah satu daripada teknik ini membolehkan anda menukar secara berkesan antara tatasusunan C char dan tatasusunan Go byte, memudahkan kesalingoperasian antara kedua-dua bahasa .

Atas ialah kandungan terperinci Bagaimanakah saya Boleh Menukar Array C char kepada Array Go Byte?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn