Lorsque vous travaillez avec Go, le respect des conventions établies est crucial. Cependant, la compréhension de ces conventions est primordiale avant leur mise en œuvre effective. Cet article répond à une question fréquemment posée concernant la structure du package Go.
Configuration : Suivant la structure de projet recommandée, nous avoir :
$GOPATH/ src/ github.com/ username/ projectname/ main.go numbers/ rational.go real.go complex.go
main.go :
package main import ( "fmt" "./numbers" ) func main() { fmt.Println(numbers.Real{2.0}) }
Questions :
1. Fichier package.go
L'hypothèse selon laquelle chaque répertoire de package nécessite un fichier package.go est incorrecte. Dans Go, les fichiers d'un même répertoire sont automatiquement regroupés dans un package. La création d'un fichier package.go n'est pas nécessaire.
2. Importation de fichiers dans un package
Go ne prend pas en charge l'importation de fichiers. Les numéros de package doivent être importés directement, plutôt que des fichiers individuels comme rational.go, real.go et complex.go. Dans notre exemple, supprimez le préfixe ./ et utilisez import "github.com/username/projectname/numbers".
3. Types de partage
Les types comme Real doivent être définis dans un fichier au sein du package, tel que real.go. Comme les fichiers appartiennent au même package, aucune instruction d’importation supplémentaire n’est nécessaire. Accéder au type Real dans main.go en tant que fmt.Println(numbers.Real{2.0}) est correct.
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!