Menukar [Saiz]bait kepada String dalam Go
Apabila bekerja dengan tatasusunan bait dalam Go, mungkin perlu menukarnya kepada rentetan untuk pemprosesan selanjutnya. Mari kita pertimbangkan contoh di mana anda menghadapi ralat semasa cuba menukar tatasusunan bait bersaiz yang diperoleh daripada md5.Sum() kepada rentetan:
data := []byte("testing") var pass string var b [16]byte b = md5.Sum(data) pass = string(b)
Kod ini akan menghasilkan ralat berikut:
cannot convert b (type [16]byte) to type string
Ralat berlaku kerana tatasusunan bait b ditetapkan dalam saiz (16 bait), manakala Go memerlukan rentetan dengan panjang berubah-ubah. Untuk menyelesaikan isu ini, anda boleh merujuk kepada b sebagai kepingan dan bukannya tatasusunan saiz tetap:
pass = string(b[:])
Dengan menggunakan sintaks kepingan, anda mencipta rentetan baharu yang mengandungi bait daripada b tanpa menyatakan panjang tetap . Hasilnya ialah rentetan yang mewakili bait dengan berkesan. Pendekatan ini membolehkan anda menukar sebarang tatasusunan bait bersaiz kepada rentetan dalam Go.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Tatasusunan Byte Saiz Tetap kepada Rentetan dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!