Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menukar Slice Byte kepada Slice Int dalam Go Tanpa Menghuraikan Ralat?

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

DDD
DDDasal
2024-11-23 21:25:18936semak imbas

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))

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!

Kenyataan:
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