Hacker News new | ask | show | jobs
by Supermighty 4422 days ago
There won't be a need for a GVM as Go is not a stand-alone runtime. Once compiled for a specific platform it will just run. You don't even need it installed on the server. You can cross-compile on your DEV machine and move the binary LIVE. Then it just runs. It doesn't need any libraries on the server.
2 comments

Does Go not have the concept of linking? If you are deploying several Go applications on the same server that each use libraries, does it include duplication of libraries in every binary?
There is no linking. Each Go binary has all of the libraries it needs baked into it.

So if you have multiple different Go applications on one server, and they use some of the same libraries, then each application's binary will contain a copy of that library.

It makes things a little redundant, but also simplifies the deployment process.

edit: The only exception is if you are using cgo and liking to existing C libraries. In pure Go there is no linking.

All Go applications are statically linked. There are no libraries. It's a single executable that you can copy to your target machine and run.