golang可以在开发模式下热插拔吗?

For production environment, I can accept that golang can not hot swap. But for development mode, must I recompile whole project, and restart server, even just modify 1 line of code? Is there any way to quickly hot swap code to check result for debugging?

You use or create a watcher process that looks for changes, will recompile and restart the server when it identifies a change.

Here are some examples of this. I use Beego and bee rebuilds my server during development all the time.

Gin

gin is a simple command line utility for live-reloading Go web applications. Just run gin in your app directory and your web app will be served with gin as a proxy. gin will automatically recompile your code when it detects a change. Your app will be restarted the next time it receives an HTTP request.

Fresh

Fresh will watch for file events, and every time you create/modify/delete a file it will build and restart the application. If go build returns an error, it will log it in the tmp folder.

Fresh works specifically with Traffic, Martini and gocraft/web.

Beego bee

The Beego web framework also does this. This is implemented in bee, a CLI tool for running Beego.

bee will watch all the project directories by default and has an option to also watch the vendor directory.