Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah saya Boleh Menukar Array C char kepada Array Go Byte?
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!