Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menyalin Rentetan Go dengan Selamat ke C char * Penunjuk Menggunakan CGO?
Menyalin Go Strings ke C char * Penunjuk melalui CGO
Untuk menyalin rentetan Go ke dalam C char * penunjuk melalui CGO, adalah penting untuk mematuhi sintaks yang betul dan mengikut garis panduan pengurusan ingatan yang sesuai.
Bertentangan dengan permulaan anda pendekatan, kaedah yang betul melibatkan penggunaan fungsi C.CString untuk mengubah rentetan Go menjadi rentetan C. Fungsi ini memperuntukkan memori untuk menyimpan rentetan C:
cstr = C.CString(str)
Adalah penting untuk ambil perhatian bahawa semasa C.CString memperuntukkan memori untuk anda, ia tidak mengendalikan tanggungjawab untuk membebaskannya. Oleh itu, menjadi kewajipan anda untuk melepaskan memori ini secara eksplisit menggunakan panggilan ke:
C.free(unsafe.Pointer(cstr))
Dengan mengikut garis panduan ini, anda boleh menyalin rentetan Go dengan selamat dan berkesan ke dalam penunjuk C char *, membolehkan kesalingoperasian yang lancar antara bahasa ini dalam aplikasi CGO anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyalin Rentetan Go dengan Selamat ke C char * Penunjuk Menggunakan CGO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!