Golang conditionals: Difference between revisions
From wikinotes
Line 17: | Line 17: | ||
// eval if key present | // eval if key present | ||
} | } | ||
</syntaxhighlight> | |||
Short Circuiting | |||
<syntaxhighlight lang="go"> | |||
// the final 'false' is never evaluated, because the second is true | |||
if false || true || false { ... } | |||
</syntaxhighlight> | </syntaxhighlight> | ||
</blockquote><!-- If statements --> | </blockquote><!-- If statements --> |
Revision as of 23:56, 5 June 2022
If Statements
if 1 > 0 { fmt.Println("true") }Similar to for loops, go's if statements can use an initializer.
if err := file.Chmod(0664); err != nil { log.Print(err) } // common in hash tests if _, ok := myMap["someKey"]; ok { // eval if key present }Short Circuiting
// the final 'false' is never evaluated, because the second is true if false || true || false { ... }
Switch Statements
Regular switch statements that test specific variable
switch var { case 'a', 'b', 'c': fmt.Println("is a, b, or c") case 'd', 'e', 'f': fmt.Println("is d, e, or f") }Switch statements can also test different variables
switch { case '0' <= number: fmt.Println("is zero") case 'a' <= letter: fmt.Println("is a") }