2 ms·
They implement everything themselves, in part so you can build truly static libraries without paying the significant cgo tax. The biggest thing they implemente
by TheDong 8y ago
They implement everything themselves, in part so you can build truly static libraries without paying the significant cgo tax.
The biggest thing they implemented themselves is effectively their own linux libc (including dns and networking stack).
This results in wonderful bugs like them not having a working POSIX Setuid [0] because that's implemented correctly in libc, not the linux syscall of the same name.
This release also contains the UserHomeDir function which is another example where they didn't use libc and thus implemented it incorrectly.
You have to justify using any outside libraries in the go stdlib because right now there are no required external dependencies, so adding one is a very high bar indeed.
[0]: https://github.com/golang/go/issues/1435 https://github.com/golang/go/issues/1435