Live data from Hacker News

Ask HN: What code do you frequently read?

news.ycombinator.com

61–64 of 64 posts

Re: Ask HN: What code do you frequently read?

#61
post #19

Golang stdlib is an excellent reference for how to write idiomatic Go code https://github.com/golang/go/tree/master/src

I write a lot of code and have an interest in new languages. I've looked in to Go quite a bit (especially since I spend a lot of time working with Docker) and I guess I might be missing something. Taking a random method here: https://github.com/golang/go/blob/master/src/strings/reader.... Some questions that come to me when looking at that code: - In general, why is everything abbreviated? Storage isn't an issue and…

1. Go encourages short variable names. I personally think that the names used in the example you pulled are a touch shorter than I myself would use, and "prevRune" is a little bit ambiguous, but I don't really mind it since the context makes it more clear.

2. Yes, int64() is a cast to an int64 type. The bare "int" type in Go is architecture-dependent, so the compiler will complain if you try to assign an int to an int64 without the cast.

3. Rune is a number representing a UTF-8 codepoint. It's an alias for int32 the way "byte" would be an alias for in8. (http://golang.org/doc/go1#rune)

4. copy() is a built-in function. There's only a small handful of built-in functions defined, and they're all documented here: http://golang.org/pkg/builtin/

5. The last return statement doesn't specify any values because the method signature has already assigned names to those: n for the int, and err for the error, so an empty return means "return the values of the variables n and err", which default to their respective type's 0 values (0 and nil for int and error). Returning the values explicitly still works as seen in that example, and is slightly shorter than "n = 0; err = io.EOF; return".

Go can be tricky to read if you're not familiar with some of the semantics, but once you've ramped up a little bit, then things just start falling into place.

Re: Ask HN: What code do you frequently read?

#63
post #3

Usually you don't just go read source code for the heck of it. You read the source code either to contribute a feature or fix a bug. There's no point in reading the src otherwise because you won't find a good enough reason to try to fully understand it.

It can be useful to read source code other than for reasons you state:

https://www.google.co.in/search?q=code+reading+the+open+sour...

Post reply on HN