Bagaimana untuk Menukar Slice Byte kepada Slice Int dalam Go Tanpa Menghuraikan Ralat?

DDD
Lepaskan: 2024-11-23 21:25:18
asal
860 orang telah melayarinya

How to Convert a Byte Slice to an Int Slice in Go Without Parsing Errors?

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))
Salin selepas log masuk

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)
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan