Permítanme definir esto primero modules
son colecciones de packages
. En Go 11, uso módulos go como los siguientes:
Si ambos paquetes están en el mismo proyecto, puede hacer lo siguiente: En go.mod
:
module github.com/userName/moduleName
y dentro de tu main.go
import "github.com/userName/moduleName/platform"
Sin embargo, si son módulos separados, es decir, diferentes rutas físicas y aún desea importar local packages
sin publicar esto de forma remota en github, por ejemplo, puede lograr esto usando la replace
directiva.
Dado el nombre del módulo github.com/otherModule
y platform
, como lo ha llamado, es el único paquete que contiene. En su módulo principal go.mod
agregue las siguientes líneas:
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"
Nota: La ruta debe apuntar al directorio raíz del módulo y puede ser absoluta o relativa.
En el interior main.go
, para importar un paquete específico como platform
desde otherModule
:
import "github.com/userName/otherModule/platform"
Aquí hay una breve introducción a los módulos de Golang