Linter requires a new line before return and branch statements except when the return is alone inside a statement group (such as an if statement) to increase code clarity.
Examples of incorrect code:
func foo() int {
a := 0
_ = a
return a
}
func bar() int {
a := 0
if a == 0 {
_ = a
return
}
return a
}
Examples of correct code:
func foo() int {
a := 0
_ = a
return a
}
func bar() int {
a := 0
if a == 0 {
_ = a
return
}
return a
}
-block-size n
size of the block (including return statement that is still "OK") so no return split required.