Go if & else statements
last modified April 11, 2024
In this article we show how to create conditions and branches in Golang.
Go if & else
The if
statement specifies the conditional execution of a block. If
the expression evaluates to true, the block is executed. If the
else
statement is present and the if statement evaluates to false,
the block following else
is executed.
There can be multiple if/else statements.
$ go version go version go1.22.2 linux/amd64
We use Go version 1.22.2.
Go if/else examples
The following examples demonstrate conditional execution of blocks with if/else.
package main import "fmt" func main() { num := 4 if num > 0 { fmt.Println("The number is positive") } }
In the code example we have a simple condition; if the num
variable
is positive, the message "The number is positive" is printed to the console.
Otherwise; nothing is printed.
$ go run main.go The number is positive
The message is printed since value 4 is positive.
We add another branch with else
.
package main import "fmt" func main() { num := -4 if num > 0 { fmt.Println("The number is positive") } else { fmt.Println("The number is negative") } }
The else
statement specifies the block that is executed if the
if
condition fails.
$ go run main.go The number is negative
Next we add additional branch with if else
.
package main import ( "fmt" "math/rand" ) func main() { num := -5 + rand.Intn(10) if num > 0 { fmt.Println("The number is positive") } else if num == 0 { fmt.Println("The number is zero") } else { fmt.Println("The number is negative") } }
We generate random values between -5 and 4. With the help of the if
& else
statement we print a message for all three options.
$ go run main.go The number is positive $ go run main.go The number is zero $ go run main.go The number is negative
We run the example a few times.
The if statement can start with a short statement to execute before the condition.
package main import ( "fmt" "math/rand" ) func main() { if num := -5 + rand.Intn(10); num > 0 { fmt.Println("value is positive") } else if num == 0 { fmt.Println("value is zero") } else { fmt.Println("value is negative") } }
The previous example is written with the short if statement.
Check map key existence
Go has a shorthand notation for checking the existence of a key in a map.
package main import "fmt" func main() { grades := map[string]int{ "Lucia": 2, "Paul": 1, "Merry": 3, "Jane": 1, } if g, found := grades["Jane"]; found { fmt.Println(g) } }
We check if a grade for a particular student exists and if it does, we print its corresponding value.
Source
The Go Programming Language Specification
In this article we have covered if/else conditions in Golang.
Author
List all Go tutorials.