Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Mencipta Rentetan Null-Terminated dengan Betul dalam Go?

Bagaimanakah Saya Boleh Mencipta Rentetan Null-Terminated dengan Betul dalam Go?

Patricia Arquette
Patricia Arquetteasal
2024-12-19 01:47:11362semak imbas

How Can I Properly Create Null-Terminated Strings in Go?

Mencipta Rentetan Null-Terminated in Go

Apabila bekerja dengan null-terminated string dalam Go, adalah penting untuk mengelakkan salah tanggapan menggunakan " " urutan melarikan diri. Sebaliknya, bahasa mengikut peraturan khusus untuk menentukan rentetan yang ditamatkan nol.

Jujukan Melarikan Diri Tidak Sah

In Go, " " ialah urutan melarikan diri yang tidak sah dan menghasilkan kompilasi ralat. Ini kerana Go benar-benar mematuhi peraturan jujukan melarikan diri yang ditakrifkan untuk literal rentetan.

Pilihan Jujukan Melarikan Diri yang Sah

Untuk mencipta rentetan yang ditamatkan nol dalam Go, anda boleh gunakan urutan pelarian berikut:

  • Oktal Digit: "nnn"
  • Digit Heksadesimal: "xnn"
  • Jujukan Unikod: "u0000"

Contoh Penggunaan

Berikut ialah coretan kod yang menunjukkan penggunaan yang betul bagi urutan pelarian ini:

s := "golang0"
fmt.Println([]byte(s)) // Output: [103 111 108 97 110 103 0]

s = "golang\x00"
fmt.Println([]byte(s)) // Output: [103 111 108 97 110 103 0]

s = "golang\u0000"
fmt.Println([]byte(s)) // Output: [103 111 108 97 110 103 0]

Dalam semua kes, tatasusunan bait yang terhasil akan berakhir dengan bait penamat nol (0 ).

Ingat bahawa Go menghormati peraturan pengekodan UTF-8, jadi rentetan literal perlu diwakili dalam format yang mematuhi UTF-8.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Rentetan Null-Terminated dengan Betul dalam Go?. 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