Lassen Sie mich dies zunächst modules
als Sammlungen von definieren packages
. In Go 11 verwende ich Go-Module wie die folgenden:
Wenn sich beide Pakete im selben Projekt befinden, können Sie einfach Folgendes tun: In go.mod
:
module github.com/userName/moduleName
und in deinem main.go
import "github.com/userName/moduleName/platform"
Wenn es sich jedoch um separate Module handelt, dh um unterschiedliche physische Pfade, und Sie dennoch lokal importieren möchten, packages
ohne dies beispielsweise remote in Github zu veröffentlichen, können Sie dies mithilfe der replace
Direktive erreichen.
Angesichts des Modulnamens ist github.com/otherModule
und platform
, wie Sie es genannt haben, das einzige Paket darin. Fügen Sie in Ihrem Hauptmodul go.mod
die folgenden Zeilen hinzu:
module github.com/userName/mainModule
require "github.com/userName/otherModule" v0.0.0
replace "github.com/userName/otherModule" v0.0.0 => "local physical path to the otherModule"
Hinweis: Der Pfad sollte auf das Stammverzeichnis des Moduls verweisen und kann absolut oder relativ sein.
Im Inneren main.go
, um ein bestimmtes Paket wie platform
von zu importieren otherModule
:
import "github.com/userName/otherModule/platform"
Hier ist eine sanfte Einführung in Golang-Module