In Go, the opening brace must be on the same line as the function signature or control statement. This is not a style preference. It's required by the language.
// This works
func main() {
fmt.Println("Hi")
}
// This won't compile
func main()
{
fmt.Println("Hi")
}
The second version fails because Go inserts a semicolon after main(), creating invalid syntax.