Maison  >  Article  >  développement back-end  >  Comment fonctionnent les packages Go : un guide sur la structure, les importations et les définitions de types ?

Comment fonctionnent les packages Go : un guide sur la structure, les importations et les définitions de types ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-21 14:31:10173parcourir

How Do Go Packages Work: A Guide to Structure, Imports, and Type Definitions?

Structure des packages de langage Go

L'organisation des packages est un aspect fondamental des conventions de structuration du code de Go. Pour comprendre ses subtilités, analysons un exemple spécifique et explorons les questions suivantes :

Q1 : Un fichier package.go est-il requis pour chaque dossier de package ?

Contrairement à Croyance populaire, un fichier package.go n'est pas obligatoire pour chaque dossier de package. Lorsque plusieurs fichiers Go résident dans un seul répertoire, ils forment automatiquement un package.

Q2 : Importation de sous-packages dans un dossier de package

Pour incorporer des sous-packages (par exemple, rational. go, real.go) au sein d'un package (par exemple, des nombres), ne recourez pas à des importations relatives. Au lieu de cela, spécifiez le chemin complet du package (par exemple, "github.com/username/projectname/number").

Q3 : Syntaxe pour une définition de type dansnumbers/real.go

La syntaxe pour définir un type dans les nombres/real.go est :

package numbers

type Real struct {
    Number float64
}

Cela déclare un type réel dans les nombres package.

Q4 : Accéder aux types à partir du package principal

L'intégration des types définis dans les sous-packages dans le package principal est simple. Par exemple, le package principal peut accéder au type Real défini dans real.go en utilisant :

package main

import (
    "fmt"
    "github.com/username/projectname/number"
)

func main() {
    fmt.Println(number.Real{2.0})
}

En adhérant à ces conventions, les développeurs garantissent l'organisation et l'accessibilité du code dans les projets Go.

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