Lassen Sie mich dies zunächst modulesals 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, packagesohne dies beispielsweise remote in Github zu veröffentlichen, können Sie dies mithilfe der replaceDirektive erreichen.
Angesichts des Modulnamens ist github.com/otherModuleund platform, wie Sie es genannt haben, das einzige Paket darin. Fügen Sie in Ihrem Hauptmodul go.moddie 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 platformvon zu importieren otherModule:
import "github.com/userName/otherModule/platform"
Hier ist eine sanfte Einführung in Golang-Module