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

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

WBOY
WBOYoriginal
2024-06-03 17:08:011046parcourir

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
}

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
}

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() {
    // 函数逻辑
}

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

package main

import "myutils"

func main() {
    myutils.ExportFunction()
}

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!

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