Tukar Slice Byte kepada Int Slice: Menyelesaikan Ralat Penghuraian
Dalam Go, menukar kepingan bait kepada int memerlukan pertimbangan yang teliti. Walaupun kaedah tradisional melibatkan penukaran kepingan bait kepada rentetan dan kemudian menggunakan strconv.Atoi, pendekatan ini mungkin menghadapi ralat penghuraian.
var d = []byte{0x01} val, err := strconv.Atoi(string(d))
Kod di atas mengakibatkan ralat kerana kepingan bait mengandungi nilai bait mentah (1) dan bukannya aksara ASCII (49).
Betul Pendekatan:
Untuk menukar kepingan bait kepada kepingan int, lakukan perkara berikut:
byteSlice := []byte{1, 2, 3, 4} intSlice := make([]int, len(byteSlice)) for i, b := range byteSlice { intSlice[i] = int(b) }
Kod ini berulang pada setiap nilai bait dalam kepingan bait, menukarnya menjadi integer. IntSlice yang terhasil akan mengandungi perwakilan integer yang sepadan bagi nilai bait.
Dengan memahami nuansa ini, pembangun boleh mengelakkan ralat penghuraian dan dengan cekap menukar kepingan bait kepada kepingan int dalam Go.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Slice Byte kepada Slice Int dalam Go Tanpa Menghuraikan Ralat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!