Maison >développement back-end >Golang >Comment créer un package dans Go

Comment créer un package dans Go

Patricia Arquette
Patricia Arquetteoriginal
2024-10-05 12:07:02776parcourir

À 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

How To Create Package in Go

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!

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