Menukar []int8 kepada Rentetan
Masalah:
Cara menukar kepingan dengan cekap daripada int8 ([]int8) kepada rentetan? Penukaran rentetan(bait) standard untuk []bait gagal untuk []int8 dengan ralat "tidak boleh menukar kepada rentetan taip."
Penyelesaian:
Sejak [] int8 dan []bait mempunyai jenis yang berbeza, penukaran langsung tidak boleh dilakukan. Oleh itu, penukaran manual diperlukan.
Proses penukaran melibatkan tiga langkah:
Pelaksanaan Kod:
Kod Go berikut menunjukkan penukaran:
func B2S(bs []int8) string { b := make([]byte, len(bs)) for i, v := range bs { b[i] = byte(v) } return string(b) }
Kod ini memastikan nilai int8 ditukar dengan betul kepada bait, menghasilkan perwakilan rentetan yang tepat.
Nota:
Walaupun pernyataan masalah pada mulanya menyebut []int8, penanya kemudian membetulkannya kepada []uint8. Untuk []uint8, penukaran terus kepada rentetan menggunakan rentetan(ba) adalah mungkin kerana bait ialah alias untuk uint8.
Atas ialah kandungan terperinci Bagaimana untuk Menukarkan Go []int8 Slice dengan Cekap kepada Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!