Maison > développement back-end > Golang > Comment fonctionnent les règles de visibilité des packages dans Golang ?

Comment fonctionnent les règles de visibilité des packages dans Golang ?

WBOY
Libérer: 2024-06-03 17:08:01
original
1105 Les gens l'ont consulté

Les règles de visibilité des packages dans Go déterminent si un identifiant est accessible en dehors du package. Les identifiants exportés commencent par une lettre majuscule et sont accessibles de l'extérieur, tandis que les identifiants commençant par une lettre minuscule sont privés et accessibles uniquement au sein du package dans lequel ils sont définis. Les identifiants exportés permettent une utilisation dans d'autres packages, tandis que les identifiants privés encapsulent les détails d'implémentation et empêchent toute utilisation accidentelle.

Golang 中包的可见性规则是如何工作的?

Règles de visibilité des packages dans Go

Dans le langage Go, les règles de visibilité des packages déterminent quand les identifiants (variables, types, constantes, fonctions, etc.) d'un package peuvent être en dehors de l'accès au package. Comprendre ces règles est crucial pour écrire du code Go modulaire et maintenable.

Identifiants exportés

Les identifiants exportés commencent par une lettre majuscule. Pour accéder à un identifiant depuis l’extérieur du package, il faut l’exporter. Les identifiants exportés permettent aux utilisateurs de les utiliser dans d'autres packages et sont documentés dans la documentation du package (godoc).

package mypkg

// 导出的变量
var ExportedVariable = 10

// 导出的类型
type ExportedType struct {
    Field1 string
    Field2 int
}
Copier après la connexion

Identifiants privés

Les identifiants commençant par une lettre minuscule sont privés. Ils ne sont accessibles qu'au sein du package dans lequel ils sont définis. Les identifiants privés sont utilisés pour encapsuler les détails d’implémentation internes d’un package et empêcher leur utilisation accidentelle dans d’autres packages.

package mypkg

// 私有变量
var privateVariable = 20

// 私有类型
type privateType struct {
    Field1 bool
    Field2 string
}
Copier après la connexion

Exemple pratique

Considérez un package appelé myutils qui fournit des fonctions utilitaires utiles. Pour rendre ces fonctions disponibles en dehors du package, il faut les exporter : myutils 的包,它提供一些有用的实用函数。要使这些函数在包外部可用,必须导出它们:

package myutils

// 导出函数
func ExportFunction() {
    // 函数逻辑
}
Copier après la connexion

然后,可以在另一个包中导入 myutils

package main

import "myutils"

func main() {
    myutils.ExportFunction()
}
Copier après la connexion
Vous pouvez ensuite importer le package myutils dans un autre package et utiliser les fonctions exportées :

rrreeeNote :

  • Les noms de packages doivent être en minuscules.
  • Il n'y a pas de mots-clés de contrôle d'accès (tels que public, privé, protégé) dans Go. Les règles de visibilité des packages déterminent les autorisations d'accès pour les identifiants.
  • Les identifiants d'exportation doivent être utilisés avec prudence car ils affectent l'interface externe du package.
  • Les identifiants privés peuvent améliorer l'encapsulation du code et réduire les utilisations accidentelles.
🎜

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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal