Ich habe Schwierigkeiten, den Arbeitsablauf zum Erstellen eines Go-Projekts mit lokalen Paketen zu verstehen.
Angenommen, ich erstelle ein neues Projekt mit git für die Versionskontrolle, das eine main.go-Datei und eine tools.go-Datei enthält, die sich im Paket utils befinden. Also habe ich eine Verzeichnisstruktur wie diese:
/myproject/
main.go
utils/
tools.go
main.go sieht so aus:
package main
import "./utils"
func main() {
utils.DoSomthing()
}
und tools.go sieht so aus:
package utils;
func DoSomething() {
}
Alles funktioniert gut lokal, mit geh bauen und geh Rennen. Aber dies wird auf Github gehostet, und ich möchte, dass andere es verwenden können geh holen Befehl, um es zu installieren. Daher muss der lokale Paketimport geändert werden, um das Format “github.com/user/project/utils” zu verwenden, was funktioniert, außer dass ich jetzt zwei Kopien des Quellcodes habe und das eigentliche Problem darin besteht, dass die Kopie mit dem Git-Verlauf hat einen Import, der die heruntergeladene Kopie verwendet. Wenn ich also an der Kopie mit dem Git-Verlauf arbeite, bleiben alle Änderungen an tools.go unbemerkt, da es die heruntergeladene Kopie verwendet.
Ich frage mich also, ob jemand die richtige Art der Verwendung erklären kann geh holenVersionskontrolle und Paketimporte innerhalb desselben Projekts.