I'm guessing int are allowed less bits than constants?
yes, numerical constants are high precision values. int in any language does not have the precision of other numeric types.
Which language is alluded to?
There is no hint, but it is inverse from C and Java, where ( ) is required, and { } is optional.
Why do we need the word type and the word struct? What was I supposed to expect?
If you are familiar with C, then it does what you expect.
Why implicit zeroes in the constructor?
This is not implied only in the constructor. Look at this
var i int fmt.Println(i)
Prints 0 . This is similar to something like java, where primitive types have an implicit default value. booleans are false, integers are zero, etc.
Make? Are there constructors? What the difference between new and make?
make accepts additional parameters to initialize the size of the array, slice, or map. new , on the other hand, just returns a pointer to a type.
type Data struct {}
How for are there constructors? only if you do and reference them. This, as usual, implements the constructor in Go.
type Data struct {} func NewData() *Data { return new(Data) }
What the %v formatter stand for? Value?
Yes
I return error values when a function fails? ... Why would they design it like that?
At first I felt the same way. My opinion has changed. You can ignore errors from the std library if you want, and do not worry about it yourself, but as soon as I got a pen, I personally found that I had a better (and more readable) error check.
What can I say, when I did it wrong, it seemed to me that this was a repeated error handling that was not needed. When I finally started doing it right ... well, what I just said above.