Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

It's not just about overhead/performance. cgo-free means no need to set up a cross-compiler if targeting other devices. Just "go build" with the right GOARCH and GOOS will let you compile a binary that will run on most devices.
 help



Static builds cannot have cgo too if I am not mistaken.

The following go flags let you build statically-linked cgo binaries, provided that all the C libraries that you're using support static linking and don't call the NSS functions in glibc:

-tags netgo,osusergo -linkmode external -extldflags -static

I regularly compile (cross-compile, even) static Go binaries that use the cgo sqlite package. But it's certainly a lot simpler if you can avoid cgo.


I'm pretty sure that C is a much better choice if you really care about binaries that run on most devices

Depends on what you mean by "most". The cross compile story for Go is far superior to C for the platforms it supports.

This project is for using Sqlite from Go code. It is not a general purpose replacement.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: