À 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 .
Lançons maintenant 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
Créez ensuite un sous-répertoire, par exemple j'utilise des modèles et crée un user.go à l'intérieur. 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 en tant que modèles
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 main.go final 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 !
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3