Разклоняване1 на програмата с if и else
в Go е лесно.
import "fmt"
func main() {
Ето един прост пример.
if 7%2 == 0 {
fmt.Println("7 е четно")
} else {
fmt.Println("7 е нечетно")
}
Може да имате изявление if без else.
if 8%4 == 0 {
fmt.Println("8 се дели на 4")
}
Логически действия като && и || често се срещат
в условия.
if 8%2 == 0 || 7%2 == 0 {
fmt.Println("или 8, или 7 е четно")
}
Условията могат да бъдад предшествани от изявление. Всички променливи, обявени в изявлението, могат да се ползват в текущото и всички последващи разклонения.
if num := 9; num < 0 {
fmt.Println(num, "е отрицателно")
} else if num < 10 {
fmt.Println(num, "е едноцифрено число")
} else {
fmt.Println(num, "е многоцифрено")
}
}
Обърнете внимание, че не се нуждаете от кръгли скоби около условията, както е в повечето други езици за програмиране.
$ go run if-else.go
7 is odd
8 is divisible by 4
either 8 or 7 are even
9 has 1 digit
В Го няма троично “ако” (ternary if).
Така че трябва винаги да се ползва пълното изявление
if дори за съвсем прости условия.
Следващ пример: Превключване (Switch).