Erzwingen eines bestimmten Importpfads in Go
New Go programmer here - Entschuldigung, wenn dies ein abgenutztes Gebiet ist, aber meine Google-Suche hat die gesuchte Antwort nicht gefunden.
Short Version: Kann ich als Programmierer außerhalb des Go-Kernprojekts den Import meiner Pakete mit einem bestimmten Namen erzwingen? Wenn das so ist, wie
Lange Version: Ich habe kürzlich versucht, das @ zu installierebcrypt
Paket aus demfollowing GitHub repository, mit den folgendengo get
go get github.com/golang/crypto
Das Paket wurde korrekt in meinen Arbeitsbereich heruntergeladen, aber als ich versuchte, es zu importieren, wurde die folgende Fehlermeldung ausgegeben:
$ go run main.go main.go: 10: 2: Code im Verzeichnis /path/to/go/src/github.com/golang/crypto/bcrypt erwartet Import "golang.org/x/crypto/bcrypt"
d.h. Etwas erzählt Go Dieses Paket sollte mit @ importiert werdgolang.org/x/crypto/bcrypt
. Dies gab mir den Hinweis, dass ich eigentlich wollte, war
go get golang.org/x/crypto/bcrypt
Ich möchte etwas Ähnliches in meinen eigenen Paketen tun. Ist diese Funktionalität in Go-Verpackungen integriert? Oder sind die Autoren voncrypto/bcrypt
Tun Sie etwas zur Laufzeit, um ungültige Paketimportnamen zu erkennen und abzulehnen?