Go code has the required binding style. Just like a programmer, there is no way to use curly braces in python, and indentation is required.
The required binding style allows you to use the function with a semicolon, without requiring the parser to look forward to the next line (which is useful if you want to implement REPL code for GO)
package main func main();
is a valid Go code, and without looking at the next line, the parser assumes that this is what you had in mind, and then gets confused by a block that is not associated with anything that you put after it.
Having the same commit style across all Go code makes it much easier to read, and also avoids discussing the binding style.
source share