Heim >Backend-Entwicklung >Golang >Wie kann ich lokale Pakete in mein Go-Modulprojekt importieren?

Wie kann ich lokale Pakete in mein Go-Modulprojekt importieren?

Susan Sarandon
Susan SarandonOriginal
2024-12-26 11:32:19434Durchsuche

How Can I Import Local Packages in My Go Module Project?

Go-Module und Importieren lokaler Pakete

Der Versuch, lokale Pakete innerhalb eines Go-Modulprojekts zu importieren, kann eine Herausforderung darstellen. Stellen Sie sich eine Projektstruktur mit Paketen vor, die außerhalb des Gopath gespeichert sind:

/
  - /platform
      - platform.go
  - main.go
  - go.mod

Wenn das in platform.go definierte Plattformpaket und main.go versuchen, das Plattformpaket zu importieren, tritt möglicherweise der Fehler auf:

cannot find module for path platform

Um dieses Problem zu lösen, navigieren wir durch die Funktionalität der Go-Module.

In Go 11 bieten Module die Möglichkeit, Pakete zu organisieren und zu verwalten. Abhängig von der Beziehung zwischen den Paketen stehen zwei Ansätze zur Verfügung:

Gleiches Projekt:
Wenn sich die Pakete im selben Projekt befinden, reicht eine einfache Änderung der go.mod-Datei aus :

module github.com/userName/moduleName

import "github.com/userName/moduleName/platform"

Separate Module:
Wenn die Pakete in verschiedene Module unterteilt sind, kann eine Ersetzungsanweisung erfolgen eingesetzt:

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"

Verwenden Sie in main.go das folgende Format, um ein bestimmtes Paket aus dem lokalen Modul zu importieren:

import "github.com/userName/otherModule/platform"

Durch die Nutzung dieser Techniken können Sie nahtlos auf lokale Pakete zugreifen innerhalb von Go-Modulprojekten.

Das obige ist der detaillierte Inhalt vonWie kann ich lokale Pakete in mein Go-Modulprojekt importieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn