Go if: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 3: | Line 3: | ||
=Overview= | =Overview= | ||
The <code>if</code> statement specifies the conditional execution of two branches according to the value of a boolean expression. Optionally, the boolean expression [[#Statement_Precedes_Expression |may be preceded by | The <code>if</code> statement specifies the conditional execution of two branches according to the value of a boolean expression. Optionally, the boolean expression [[#Statement_Precedes_Expression |may be preceded by an initialization statement]], which is executed before the expression is evaluated. | ||
===Simple If=== | ===Simple If=== | ||
{{External|https://go.dev/ref/spec#If_statements}} | {{External|https://go.dev/ref/spec#If_statements}} |
Revision as of 00:28, 6 July 2024
Internal
Overview
The if
statement specifies the conditional execution of two branches according to the value of a boolean expression. Optionally, the boolean expression may be preceded by an initialization statement, which is executed before the expression is evaluated.
Simple If
if <condition> {
<statements>
}
if x > 5 {
println(x)
}
If/else
if <condition> {
<statements>
} else {
<statements>
}
if x > 5 {
println(x)
} else {
println("something else")
}
A special if
syntax supports the Go error handling idiom that relies on functions returning errors as result value:
var result ...
var err error
if result, err = someFunc(); err != nil {
// handle error
return
}
// handle success
...
Avoid else
in the idiom above. Do NOT write this:
if result, err := someFunc(); err {
// handle error
...
} else { // BAD, avoid the "else"
// handle success
...
}
If/else if/else
if <condition> {
<statements>
} else if <condition> {
<statements>
} else {
<statements>
}
if x < 5 {
println(x)
} else if x == 5 {
println("is 5")
} else {
println("something else")
}