Maison >développement back-end >Golang >Comment fonctionne Go import Path dans les packages versionnés
Utiliser les chemins d'importation de langue Go dans des packages versionnés est une compétence importante. Avec le chemin d'importation correct, nous pouvons facilement introduire et utiliser des packages créés par d'autres développeurs. Cependant, pour les débutants, comprendre comment fonctionnent les chemins d’importation dans les packages versionnés peut être un peu déroutant. Dans cet article, l'éditeur PHP Baicao expliquera en détail le fonctionnement du chemin d'importation et fournira quelques conseils pratiques pour vous aider à mieux comprendre et utiliser le chemin d'importation. Que vous soyez débutant ou développeur expérimenté, cet article vous fournira des informations et des conseils précieux. commençons!
Je suis un peu curieux de savoir comment Golang analyse les importations nommées.
Dans cet exemple, j'ai echo comme dossier de candidature.
package main import ( "net/http" "github.com/labstack/echo/v4" ) func main() { e := echo.new() e.get("/", func(c echo.context) error { return c.string(http.statusok, "hello, world!") }) e.logger.fatal(e.start(":1323")) }
Comme le montre la ligne import
, echo est en fait référencé par sa version "v4", mais go peut le résoudre en "echo".
J'ai consulté le dépôt d'écho mais je n'ai rien trouvé de clair sur la façon dont go résout ce problème.
ps : Je l'ai utilisé avec des alias dans le passé, comme :
... import ( echo "github.com/labstack/echo/v4" ) ...
Mais cela semble être une solution de contournement.
La première ligne du fichier Go utilise la directive package
pour déclarer le nom du package. C'est le nom auquel package
指令声明包名称。这是 import
se résout lorsqu'il est importé sans alias. Les importations d'alias peuvent être utilisées lorsque vous devez lever l'ambiguïté entre plusieurs packages portant le même nom de package mais des chemins d'importation différents.
go.mod
文件保存了 Go 包的导入路径(对于 echo
来说是 github.com/labstack/echo/v4
). Comme l'a dit JimB, le nom du package n'a pas besoin de correspondre au chemin d'importation, c'est juste une convention de le faire.
rsc.io/quote (code source sur https://github.com/rsc/quote) Explication de la gestion des versions et de l'importation du package Go. Vous pouvez également consulter le article de blog de Russ Cox expliquant la gestion des versions des packages dans 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!