As far as I understand, that's a consequence of the automatic insertion of trailing semicolon by the lexer, not a decision by gofmt. It's explained here:
https://go.dev/doc/effective_go#semicolons
Are you referring to C style if statements where you can elide the braces?
In go the braces are mandatory, so I don't think that really applies.
> One consequence of the semicolon insertion rules is that you cannot put the opening brace of a control structure (if, for, switch, or select) on the next line. If you do, a semicolon will be inserted before the brace, which could cause unwanted effects.
I was assuming that the “unwanted effects” are not simply a syntax error.