Menukar []int8 kepada String
Penukaran daripada []int8 kepada rentetan memerlukan proses manual kerana ia adalah jenis data yang berbeza. Untuk menentukan pendekatan penukaran yang optimum, kita mesti mempertimbangkan dua pilihan: []bait dan []rune.
Pilihan 1: []bait
String disimpan secara dalaman sebagai Urutan bait yang dikodkan UTF-8, diwakili oleh []bait. Menukar []int8 kepada []bait adalah mudah, kerana bait ialah alias untuk uint8 dan bahasa menyokong penukaran []bait kepada rentetan.
Pilihan 2: []rune
Rune ialah titik kod Unikod. Pemetaan nilai int8 kepada rune satu sama satu akan menghasilkan output yang salah jika input mengandungi aksara yang dikodkan menggunakan berbilang bait (UTF-8). Oleh itu, kita mesti memilih pemetaan 1-1 int8 kepada bait.
Kaedah Penukaran Optimum
Berdasarkan keperluan, kaedah penukaran yang paling berkesan ialah:
func B2S(bs []int8) string { b := make([]byte, len(bs)) for i, v := range bs { b[i] = byte(v) } return string(b) }
Kaedah ini menggunakan pengindeksan [] untuk penetapan elemen dan bukannya fungsi tambah, memberikan prestasi yang lebih baik disebabkan oleh kepingan yang diketahui panjang.
Atas ialah kandungan terperinci Bagaimana untuk Menukar []int8 kepada String dalam Go dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!