Live data from Hacker News

Go 1.7 is released

blog.golang.org

11–20 of 141 posts

Re: Go 1.7 is released

#12

vendor directories are no longer optional, which is nice. Go get now update submodules... I'm honestly not sure what the current hack is for package management, but I assume people are still doing wrappers around go get to pin to commits/versions, (or else building your own repos for funsies), and I'm wondering if that breaks anything.

There are active discussions on the Go Package Management mailing list and the intention to propose further improvements to the go toolchain for future releases. We had good discussions with the Go Team during GopherCon last month.

https://groups.google.com/forum/#!forum/go-package-managemen...

Re: Go 1.7 is released

#15

Be sure to check out the release notes, especially if you run FreeBSD (see known issues section). https://golang.org/doc/go1.7

FWIW, this isn't a new regression on FreeBSD. We also saw these problems on Go 1.6 once we looked at our old build logs. It's just now documented.

Re: Go 1.7 is released

#16
I just learned Go 2 days ago and today I am already running my own web app!

I love Go because it is kind of like C, but better (more modern).Generally, I always program my stuff in Java, but whenever I have an idea of creating something I could only choose between: C, Java, bash. Obviously I am not going to use C and bash for most of my ideas. Thinking about solving my issues in Java is meh so often I decided it is not worth it to invest time. I feel like using Java for my ideas is like using a semi truck for roadtrips. It can be done, but it's just not very efficient having to launch the JVM everytime I want to do something small.

Yes, I was open to new languages, but I did not really care about: C++, Python, Perl, Ruby and so on because I never cared about web dev. Now I was bored and finally decided to learn Go.

Re: Go 1.7 is released

#17

vendor directories are no longer optional, which is nice. Go get now update submodules... I'm honestly not sure what the current hack is for package management, but I assume people are still doing wrappers around go get to pin to commits/versions, (or else building your own repos for funsies), and I'm wondering if that breaks anything.

Hopefully we'll have something official soon. For now, glide has been working well for us.

Re: Go 1.7 is released

#18
post #4
post #2

Seems like a great release. Faster compilation and faster at runtime. Normally these 2 are considered opposite of each other.

And smaller binary size too. For a statically linked blob, that's a big plus.

BTW, what does one have to do to get fully statically linked executables? The binaries I've created with go get SOMETHING are linking against libc, but I remember that go doesn't rely on the system libc. Has that changed? For instance I just installed git-appraise, and it's a dynamically linked executable. What am I doing wrong?

Re: Go 1.7 is released

#19
post #18
post #4

Earlier quoted context omitted.

And smaller binary size too. For a statically linked blob, that's a big plus.

BTW, what does one have to do to get fully statically linked executables? The binaries I've created with go get SOMETHING are linking against libc, but I remember that go doesn't rely on the system libc. Has that changed? For instance I just installed git-appraise, and it's a dynamically linked executable. What am I doing wrong?

CGO_ENABLED=0

Otherwise it will dynamically link glibc in case of CGO code.

Note: the race detector does not work without cgo enabled.

Re: Go 1.7 is released

#20
post #18
post #4

Earlier quoted context omitted.

And smaller binary size too. For a statically linked blob, that's a big plus.

BTW, what does one have to do to get fully statically linked executables? The binaries I've created with go get SOMETHING are linking against libc, but I remember that go doesn't rely on the system libc. Has that changed? For instance I just installed git-appraise, and it's a dynamically linked executable. What am I doing wrong?

Go generally links to libc to use the system's getaddrinfo-- some OSes override it to do special things with dynamically discovered hosts on local networks, interfacing with LDAP/AD, etc.

If you use `CGO_ENABLED=0 go build`, it should make a statically linked executable.

Post reply on HN