Heim >Backend-Entwicklung >Golang >Wie konvertiert man in Go ein []Byte in ein Int?

Wie konvertiert man in Go ein []Byte in ein Int?

Barbara Streisand
Barbara StreisandOriginal
2024-12-02 19:42:12237Durchsuche

How to Convert a []byte to an int in Go?

Konvertierungsstrategien: []byte zu int in Go

Konvertieren von Daten aus einem Byte-Slice ([]byte) in eine ganze Zahl (int ) tritt in verschiedenen Szenarien auf, wie beispielsweise bei der Notwendigkeit, numerische Werte über TCP zu übertragen. Diese Abfrage untersucht die in Go verfügbaren Konvertierungsmethoden.

Konvertieren von []Byte in Int mithilfe von „encoding/binary“

Das Paket „encoding/binary“ bietet einen praktischen Mechanismus zum Konvertieren zwischen Bytefolgen und grundlegende Datentypen. Es unterstützt Konvertierungen für 16-, 32- und 64-Bit-Typen.

Die ByteOrder-Schnittstelle, die die Endianness der Byte-Reihenfolge (Big- oder Little-Endian) definiert, spielt bei dieser Konvertierung eine entscheidende Rolle. Der folgende Codeausschnitt zeigt, wie man mit der Funktion ByteOrder.Uint64() ein []Byte in ein uint64 umwandelt, wobei eine Big-Endian-Bytereihenfolge angenommen wird:

package main

import "fmt"
import "encoding/binary"

func main() {
    var mySlice = []byte{244, 244, 244, 244, 244, 244, 244, 244}  // 8-byte value represented as []byte
    data := binary.BigEndian.Uint64(mySlice)
    fmt.Println(data)  // Prints: 18446744073709551615
}

In diesem Beispiel die mySlice []Byte-Instanz stellt eine 8-Byte-Ganzzahl ohne Vorzeichen dar. Die Funktion „binary.BigEndian.Uint64()“ konvertiert diese Bytefolge in ein uint64 unter Verwendung der Big-Endian-Bytereihenfolge (die angibt, dass das höchstwertige Byte zuerst in der Bytefolge erscheint).

Hinweis: Die Konvertierungsfunktion hängt vom gewünschten Datentyp ab. Zum Beispiel würde „binary.BigEndian.Uint16()“ für die Konvertierung in eine 16-Bit-Ganzzahl ohne Vorzeichen verwendet werden.

Das obige ist der detaillierte Inhalt vonWie konvertiert man in Go ein []Byte in ein Int?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn