Is there a way I can compile then run my compiled application, if its already running then exit recompile and run.

So current work flow is compile switch to terminal run binary, switch back make changes compile return to terminal Ctrl + C to kill then run again, be nice if I could do all this from inside emacs.

I guess a bash script could be an option but curious if others have this work flow and how it works ?

Currently in a golang workflow but even better if there is a generic solution.