Якщо ви використовуєте пакет osext від kardianos і вам потрібно тестувати локально, як, наприклад, прокоментував Дерек Даулінг:
Це добре працює, поки ви не хочете використовувати його з go run main.go для локального розвитку. Не впевнений, як краще обійти це, не будуючи виконуваного файлу заздалегідь.
Рішення цього полягає в тому, щоб зробити утиліту gorun.exe замість використання запуску. Утиліта gorun.exe скомпілює проект за допомогою "go build", після чого запустіть його відразу після цього, у звичайному каталозі вашого проекту.
У мене виникла ця проблема з іншими компіляторами, і я виявив, що я роблю ці утиліти, оскільки вони не постачаються разом із компілятором ... Це особливо приховано з такими інструментами, як C, де потрібно компілювати та зв’язувати, а потім запускати його (занадто багато роботи).
Якщо комусь подобається моя ідея про gorun.exe (або ельф), я, швидше за все, незабаром завантажую його в github ..
Вибачте, ця відповідь розуміється як коментар, але я не можу коментувати через те, що ще не маю репутації досить великої.
Крім того, "go run" може бути змінено (якщо у нього вже немає цієї функції), щоб мати такий параметр, як "go run -notemp", щоб не запускати програму у тимчасовому каталозі (або щось подібне). Але я вважаю за краще просто ввести горун або "гор", оскільки він коротший, ніж перекручений параметр. Gorun.exe або gor.exe потрібно буде встановити в тому самому каталозі, що і ваш компілятор go
Реалізація gorun.exe (або gor.exe) була б тривіальною, так як я це робив з іншими компіляторами лише у кількох рядках коду ... (останні відомі слова ;-)