Take, for example, the go github package. Just about every member of every struct defined is a pointer to a value rather than a value.
Is this idiomatic Go? Why?
I understand that it reduces the size of the struct (assuming the size of the pointer is less than the size of the value it points to) which may important if you are passing around structs by value a lot. But why not have a struct of values and pass the struct by pointer instead?