Maison > développement back-end > Golang > Comment déterminer la taille d'une structure Go en octets ?

Comment déterminer la taille d'une structure Go en octets ?

Linda Hamilton
Libérer: 2024-12-29 16:09:15
original
596 Les gens l'ont consulté

How Do I Determine the Size of a Go Structure in Bytes?

Détermination de la taille d'une structure Go

Dans Go, l'accès à la taille d'une structure peut être réalisé par programme à l'aide de la méthode unsafe.Sizeof . Cette méthode prend une valeur d'un type spécifique, en l'occurrence une structure, et renvoie sa taille mémoire en octets.

Par exemple, pour déterminer la taille de la structure suivante :

type Coord3d struct {
    X, Y, Z int64
}
Copier après la connexion

Vous pouvez utiliser le code suivant :

import (
    "fmt"
    "unsafe"
)

func main() {
    // Create a Coord3d structure
    var coord Coord3d

    // Get the size of the Coord3d structure
    size := unsafe.Sizeof(coord)

    fmt.Println("Size of Coord3d:", size, "bytes")
}
Copier après la connexion

Informations supplémentaires

Pendant que unsafe.Sizeof fournit la taille de la mémoire, il est crucial de considérer que la taille rapportée n'inclut aucune mémoire référencée par la structure. Par exemple, si la structure contient une référence à une tranche, la taille renvoyée représentera uniquement la taille du descripteur de tranche, pas la taille des données référencées.

Calcul intuitif de la taille de la structure

Pour calculer manuellement la taille d'une structure, tenez compte des règles suivantes :

  • La taille de la structure dépend des types des champs qu'il contient et de leur ordre.
  • Un remplissage différent est utilisé en fonction de l'ordre des champs.
  • Un booléen, int8/uint8 occupe 1 octet.
  • int16, uint16 occupe 2 octets.
  • int32, uint32, float32 occupent 4 octets.
  • int64, uint64, float64, les pointeurs occupent 8 octets.
  • Une chaîne fait 16 octets de long, en utilisant 2 alignements de 8 octets.
  • Toute tranche occupe 24 octets. , avec 3 alignements de 8 octets.
  • Un tableau de longueur n occupe n fois la taille de ses éléments.

A l'aide de ces règles, vous pouvez déterminer manuellement la taille d'une structure. Cependant, il est conseillé de recouper vos calculs en utilisant la méthode unsafe.Sizeof pour vérification.

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