Ich mache ein Paket, um API-Aufrufe an einen Dienst zu machen.Golang, wie man das Verzeichnis des Pakets, in dem sich die Datei befindet, und nicht das aktuelle Arbeitsverzeichnis erhält
Ich habe ein Testpaket, das ich nur zum Testen der API-Aufrufe verwenden und testen Sie die Funktionen des Hauptpakets, das ich nur include
das andere Paket in.
In meinem Haupt-Paket, das ich arbeite ich
ioutil.ReadFile(filepath.Abs("Filename.pub"))
haben, die in Ordnung ist, aber wenn ich es von meinem Testpaket nennen z.B.
/Users/####/gocode/src/github.com/testfolder go run main.go
es sagt mir
panic: open /Users/####/gocode/src/github.com/testfolder/public.pub: no such file or directory
Das Problem ist, ist es sucht public.pub
innerhalb von testfolder
statt github.com/apipackage/
das ist, wo es ist.
Gerade dieses Durcheinander von Worten zu klären:
Das API-Paket hat eine Funktion, die
aus dem gleichen Verzeichnis liest Aber weil ich das API-Paket bin auch und Testfolder sind die CWD, wenn ich es go run main.go
versucht stattdessen, es von der testfolder
stattdessen zu bekommen, obwohl die main.go nicht die Funktion hat und es gerade einschließt.
Dank sorry für die verwirrende ass Frage