Menukar Tatasusunan Byte Bersaiz kepada Rentetan dalam Go
Dalam Go, adalah perkara biasa untuk menghadapi situasi di mana anda perlu menukar tatasusunan bait bersaiz kepada rentetan. Ini boleh timbul, contohnya, apabila bekerja dengan data cincang seperti ringkasan MD5.
Pertimbangkan coretan kod berikut:
data := []byte("testing") var pass string var b [16]byte b = md5.Sum(data) pass = string(b)
Setelah melaksanakan kod ini, anda akan menghadapi ralat berikut:
cannot convert b (type [16]byte) to type string
Ralat berpunca daripada fakta bahawa penukaran rentetan mengharapkan kepingan bait ([]bait), tetapi pembolehubah b diisytiharkan sebagai tatasusunan bersaiz tetap ([16]bait). Untuk menyelesaikan isu ini dan menukar tatasusunan bait kepada rentetan, anda boleh menggunakan hirisan bait yang diperoleh daripada tatasusunan bait.
Kod berikut menunjukkan cara menukar tatasusunan bait bersaiz kepada rentetan dengan betul:
pass = string(b[:])
Dengan menggunakan b[:], anda mencipta kepingan bait yang merangkumi keseluruhan tatasusunan bait b. Potongan bait ini kemudiannya boleh ditukar kepada rentetan seperti yang dijangkakan.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Tatasusunan Byte Bersaiz Tetap kepada Rentetan dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!