Jeśli używasz pakietu osext od kardianos i musisz testować lokalnie, jak skomentował Derek Dowling:
Działa to dobrze, dopóki nie chcesz go używać z go run main.go do rozwoju lokalnego. Nie wiem, jak najlepiej to obejść bez wcześniejszego budowania pliku wykonywalnego.
Rozwiązaniem tego jest utworzenie narzędzia gorun.exe zamiast używania go run. Narzędzie gorun.exe skompiluje projekt przy użyciu „go build”, a następnie uruchomi go zaraz po tym, w normalnym katalogu projektu.
Miałem ten problem z innymi kompilatorami i odkryłem, że robię te narzędzia, ponieważ nie są one dostarczane z kompilatorem ... jest to szczególnie tajemnicze z narzędziami takimi jak C, gdzie musisz skompilować i połączyć, a następnie uruchomić (zbyt dużo pracy).
Jeśli komuś spodoba się mój pomysł na gorun.exe (lub elfa), prawdopodobnie wkrótce załaduję go do github ..
Przepraszamy, ta odpowiedź ma charakter komentarza, ale nie mogę komentować, ponieważ nie mam jeszcze wystarczająco dużej reputacji.
Alternatywnie, „go run” można zmodyfikować (jeśli nie ma już tej funkcji), aby mieć parametr taki jak „go run -notemp”, aby nie uruchamiać programu w katalogu tymczasowym (lub coś podobnego). Ale wolałbym po prostu wpisywać gorun lub „gor”, ponieważ jest on krótszy niż zwinięty parametr. Gorun.exe lub gor.exe musiałby zostać zainstalowany w tym samym katalogu, co kompilator go
Wdrożenie gorun.exe (lub gor.exe) byłoby trywialne, ponieważ zrobiłem to z innymi kompilatorami w zaledwie kilku wierszach kodu ... (słynne ostatnie słowa ;-)