As a newbie to Go, some of the syntactic rules seem confusing or “shoehorned” in.
For example, if exported functions and types have to be upper case, then why are builtin functions like “len” lower case and still usable by all packages? Isn’t it breaking a rule?
The Receiver method concept feels like an afterthought which was added to give some “class” like behavior to declared types, after deciding we are not going to have classes. It just doesn’t feel like it was done to improve readability.
My OCD maybe showing here, but until I can reconcile this, I feel like I can’t proceed with go at all