Byte-Slice in Int-Slice konvertieren: Parsing-Fehler beheben
In Go erfordert die Konvertierung eines Byte-Slice in ein Int-Slice sorgfältige Überlegungen. Während bei herkömmlichen Methoden das Byte-Slice in eine Zeichenfolge konvertiert und dann strconv.Atoi verwendet wird, kann es bei diesem Ansatz zu Parsing-Fehlern kommen.
var d = []byte{0x01} val, err := strconv.Atoi(string(d))
Der obige Code führt zu einem Fehler, da das Byte-Slice einen rohen Bytewert enthält (1) anstelle eines ASCII-Zeichens (49).
Richtig Ansatz:
Um ein Byte-Slice in ein Int-Slice umzuwandeln, führen Sie Folgendes aus:
byteSlice := []byte{1, 2, 3, 4} intSlice := make([]int, len(byteSlice)) for i, b := range byteSlice { intSlice[i] = int(b) }
Dieser Code iteriert über jeden Bytewert im Byte-Slice und konvertiert ihn in einen ganze Zahl. Das resultierende intSlice enthält die entsprechenden ganzzahligen Darstellungen der Bytewerte.
Durch das Verständnis dieser Nuance können Entwickler Analysefehler vermeiden und Byte-Slices in Go effizient in Int-Slices konvertieren.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich in Go ein Byte-Slice in ein Int-Slice, ohne Parsing-Fehler?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!