Comment obtenir la taille de la structure et de son contenu en octets dans golang?

J'ai un struct, dire:

type ASDF struct {
    A   uint64
    B   uint64
    C   uint64
    D   uint64
    E   uint64
    F   string
}

J'ai créer une tranche de cette structure: a := []ASDF{}

Je ne les opérations sur cette tranche de la structure (ajout/suppression/mise à jour des structures qui varient dans leur contenu); comment puis-je obtenir la taille totale en octets (pour mémoire) de la tranche et de son contenu? Est-il construit pour le faire ou dois-je besoin d'exécuter manuellement un calcul à l'aide de unsafe.Sizeof et puis len chaque chaîne?

Petite question, n'est-ce pas struct ASDF taille fixe, puisque vous déclarez tous les types de variables? Vous pouvez ensuite il suffit de multiplier la taille de la structure pointeur de ASDF par len(a)? Comme vous ne pouvez même ajouter de la taille de l'élément dans la tranche? Ou ai-je mal comprendre la façon dont la tranche travail?
Il y aurait un problème avec string terrain.

OriginalL'auteur user1529891 | 2015-07-19