Re:Python with Braces
by xandrius on Monday July 08, 2024 @03:47AM
(#40903400)
That's not really true though, I've used golang for years and never had semicolons added automatically.
[ Parent
| on HN ]
Re:Python with Braces
by voidUpdate on Monday July 08, 2024 @04:08AM
(#40903506)
I don't mean it actually adds them to the file itself, its like it adds virtual ones during compilation. Try placing the { from the func main() { on a new line and it will fail to compile
Oh, I see, that's what you meant. Thanks for clarifying :)
The Go compiler inserts semi-colons. https://go.dev/ref/spec#Semicolons
If you follow those rules, you will see that this:
if true;
{
fmt.Println()
}
else
{
fmt.Println()
}
Will get rewritten to: if true;
{
fmt.Println();
};
else;
{
fmt.Println();
};
And that won't work. That's why the braces need to be as "} else {". and "if .. {".It used to be that the compiler gave some pretty confusing errors about semi-colons on this, but it seems that's been improved now.
JavaScript has similar semi-colon insertion by the way, but with some different (more confusing) rules.