Si usa el paquete osext de kardianos y necesita probarlo localmente, como Derek Dowling comentó:
Esto funciona bien hasta que desee utilizarlo con go run main.go para el desarrollo local. No estoy seguro de cuál es la mejor manera de evitar eso sin crear un ejecutable de antemano cada vez.
La solución a esto es hacer una utilidad gorun.exe en lugar de usar go run. La utilidad gorun.exe compilará el proyecto usando "go build", luego lo ejecutará inmediatamente después, en el directorio normal de su proyecto.
Tuve este problema con otros compiladores y me encontré haciendo estas utilidades ya que no se envían con el compilador ... es especialmente arcano con herramientas como C donde tienes que compilar y vincular y luego ejecutarlo (demasiado trabajo).
Si a alguien le gusta mi idea de gorun.exe (o elf), probablemente lo subiré a github pronto ...
Lo sentimos, esta respuesta se entiende como un comentario, pero no puedo comentar porque todavía no tengo una reputación lo suficientemente grande.
Alternativamente, "go run" podría modificarse (si aún no tiene esta función) para tener un parámetro como "go run -notemp" para no ejecutar el programa en un directorio temporal (o algo similar). Pero preferiría simplemente escribir gorun o "gor", ya que es más corto que un parámetro complicado. Gorun.exe o gor.exe tendrían que instalarse en el mismo directorio que su compilador go
Implementar gorun.exe (o gor.exe) sería trivial, como lo hice con otros compiladores en solo unas pocas líneas de código ... (últimas palabras famosas ;-)