Maison >développement back-end >Golang >Comment créer un package dans Go
À des fins réutilisables, le package est un bon début pour gérer vos codes Go car nous pouvons l'importer et l'utiliser dans notre programme.
Créons un fichier principal simple pour commencer
package main import "fmt" func main() { fmt.Println("hello world!") }
C'est un simple programme Hello World qui imprime la chaîne Hello World lorsque nous exécutons go run main.go .
Maintenant, lançons un package en créant d'abord le module. Généralement, il utilise un référentiel git même si nous n'avons pas l'intention de le transférer vers un référentiel. Dans cet exemple, j'utiliserai mon propre référentiel Github et j'utiliserai le nom du package mygopackageas.
git mod init github.com/didikz/mygopackage
Ensuite, créez un sous-répertoire, par exemple j'utilise des modèles et crée un user.go à l'intérieur de celui-ci. La structure devrait ressembler à ceci
Dans user.go, je créerais simplement une structure et un récepteur qui pourraient être importés plus tard dans le main.go . J'ai également défini le nom du package après le nom du répertoire actuel comme models
package models type User struct { Id int FirstName string LastName string Address string } func (user *User) GetName() string { return user.FirstName + " " + user.LastName }
Revenez à main.go et maintenant nous pouvons essayer d'importer le package et utiliser la structure définie. Utilisez le nom du module initié précédemment avec le nom du package.
import "github.com/didikz/mygopackage/models"
Maintenant, pour utiliser le modèle utilisateur du package, nous pouvons écrire comme ceci
var user models.User user.Id = 1 user.FirstName = "Didik" user.LastName = "Tri Susanto" user.Address = "Malang" // or alternatively user := models.User{Id: 1, FirstName: "Didik", LastName: "Tri Susanto", Address: "Malang"} fmt.Println(user.GetName())
Tout est prêt. Ensuite, si nous exécutons go run main.go alors il devrait imprimer Didik Tri Susanto
Facile, non ?
Le fichier final main.go devrait maintenant ressembler à ceci
package main import ( "fmt" "github.com/didikz/mygopackage/models" ) func main() { user := models.User{Id: 1, FirstName: "Didik", LastName: "Tri Susanto", Address: "Malang"} fmt.Println(user.GetName()) }
C'est tout et bon codage !
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!