Maison  >  Article  >  développement back-end  >  Comment puis-je rendre les champs et les méthodes privés dans une structure Go ?

Comment puis-je rendre les champs et les méthodes privés dans une structure Go ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-16 19:23:03215parcourir

How can I make fields and methods private within a Go struct?

Encapsulation de champs et de méthodes privés dans une structure Go

Dans Go, la visibilité des champs et des méthodes au sein d'une structure est contrôlée par le premier caractère de leurs noms. Les champs et méthodes commençant par une majuscule sont exportés du package et sont accessibles par un code externe. À l'inverse, ceux qui commencent par une lettre minuscule sont privés du package.

Pour restreindre l'accès à certains champs et méthodes au sein d'une structure, vous pouvez placer la structure et ses fonctions membres dans un package séparé. De cette façon, seul le type défini dans le package aura accès aux membres privés.

Par exemple, dans l'exemple fourni, vous pouvez créer un nouveau package pour votre structure mytype :

// mytype.go

// Define the mytype struct with private fields and methods.
package mytype

type mytype struct {
    size          string
    hash          uint32
}

func (r *mytype) doPrivate() string {
    return r.size
}

Tant que le package mytype n'importe aucun autre package, la taille et le hachage des champs ainsi que la méthode doPrivate resteront privés pour mytype et inaccessibles de l'extérieur du package.

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!

Déclaration:
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