That's exactly the problem. Golang has syntax different from other imperative languages not because its syntax brings something new to the table, but just for the sake of being different. In other words, it's an entry barrier that provides nothing in return.
To illustrate my point, imagine someone coming up with a new measurement unit "my_unit" equal to 0,73926745 cm. The first question is "why" because it solves zero problems for which the metric system would be impractical, while adding new cognitive load for people trying to use it. And then there's the counterargument "you're just not familiar with it!" which is a fair point because objectively, you can't say that either centimeter or "my_unit" is better. It's just that it's unnecessary cost of switching from already applied standard that works equally well.
No it doesn’t, it’s very similar to C.
How you define "relative clarity" in a way that isn't "so subjective" and not immediately due to familiarity?
To me it seems like you're saying it's all subjective except for Go's relative readability, but I'm not sure what's making said relative readability any less subjective.
Am I reading your comment wrong?
Do you mean that you don't know what type a certain variable has? If so, just add `theVariableName = false` and try to compile it (or just `go vet ./path/to/folder` from the repo root) and the error message will tell you the type. Same as with every other strongly typed language.
Then comes the hard part "where is it defined"... he could even press "command" and then click on it.