Maison > développement back-end > Golang > Comment convertir un []byte en int dans Go ?

Comment convertir un []byte en int dans Go ?

Barbara Streisand
Libérer: 2024-12-02 19:42:12
original
231 Les gens l'ont consulté

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

Stratégies de conversion : []octet en entier dans Go

Conversion de données d'une tranche d'octets ([]octet) en un entier (int ) se produit dans divers scénarios, comme en témoigne la nécessité de transmettre des valeurs numériques via TCP. Cette requête explore les méthodes de conversion disponibles dans Go.

Conversion de []byte en int à l'aide d'encoding/binary

Le package encoding/binary fournit un mécanisme pratique pour convertir entre séquences d'octets et types de données de base. Il prend en charge les conversions pour les types 16, 32 et 64 bits.

L'interface ByteOrder, qui définit le caractère boutien de l'ordre des octets (gros ou petit boutien), joue un rôle crucial dans cette conversion. L'extrait de code suivant montre comment convertir un []byte en un uint64 à l'aide de la fonction ByteOrder.Uint64(), en supposant l'ordre des octets big-endian :

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
}
Copier après la connexion

Dans cet exemple, l'instance mySlice []byte représente un entier non signé de 8 octets. La fonction binaire.BigEndian.Uint64() convertit cette séquence d'octets en uint64 en utilisant l'ordre des octets big-endian (qui spécifie que l'octet de poids fort apparaît en premier dans la séquence d'octets).

Remarque : La fonction de conversion dépend du type de données souhaité. Par exemple, binaire.BigEndian.Uint16() serait utilisé pour la conversion en un entier non signé de 16 bits.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal