Wenn Sie das Paket osext von kardianos verwenden und lokal testen müssen, wie Derek Dowling kommentierte:
Dies funktioniert einwandfrei, bis Sie es mit go run main.go für die lokale Entwicklung verwenden möchten. Ich bin mir nicht sicher, wie ich das am besten umgehen kann, ohne vorher jedes Mal eine ausführbare Datei zu erstellen.
Die Lösung hierfür besteht darin, ein Dienstprogramm gorun.exe zu erstellen, anstatt go run zu verwenden. Das Dienstprogramm gorun.exe kompiliert das Projekt mit "go build" und führt es direkt danach im normalen Verzeichnis Ihres Projekts aus.
Ich hatte dieses Problem mit anderen Compilern und stellte fest, dass ich diese Dienstprogramme erstellt habe, da sie nicht mit dem Compiler geliefert werden. Dies ist besonders geheimnisvoll bei Tools wie C, bei denen Sie sie kompilieren, verknüpfen und dann ausführen müssen (zu viel Arbeit).
Wenn jemand meine Idee von gorun.exe (oder elf) mag, werde ich sie wahrscheinlich bald auf github hochladen.
Entschuldigung, diese Antwort ist als Kommentar gedacht, aber ich kann keinen Kommentar abgeben, da ich noch keinen Ruf habe, der groß genug ist.
Alternativ könnte "go run" so geändert werden (falls diese Funktion noch nicht vorhanden ist), dass ein Parameter wie "go run -notemp" vorhanden ist, um das Programm nicht in einem temporären Verzeichnis (oder ähnlichem) auszuführen. Aber ich würde es vorziehen, nur gorun oder "gor" einzugeben, da es kürzer als ein verschlungener Parameter ist. Gorun.exe oder gor.exe müssten im selben Verzeichnis wie Ihr go-Compiler installiert werden
Die Implementierung von gorun.exe (oder gor.exe) wäre trivial, da ich es mit anderen Compilern in nur wenigen Codezeilen gemacht habe ... (berühmte letzte Wörter ;-)