Оператор else if
Когда первое условие оказывается false, оператор else if позволяет проверить другое.
Синтаксис Elseif
main.go
if condition1 {
// code to be executed if condition1 is true
} else if condition2 {
// code to be executed if condition1 is false and condition2 is true
} else {
// code to be executed if condition1 and condition2 are both false
}
Использование оператора else if
В программах этого раздела оператор else if применяется на практике.
Пример
При time, равном 22, первое условие (меньше 10) равно false. Проверка else if (меньше 20) тоже не проходит. Поскольку и condition1, и condition2 не выполнились, остаётся только блок else, и он выводит «Good evening.»
Prompt
Используй else if, чтобы проверить время суток и вывести приветствие.
Задай time равным 22.
Вывод: Программа на Go и захваченный вывод
main.go
package main
import ("fmt")
func main() {
time := 22
if time < 10 {
fmt.Println("Доброе утро.")
} else if time < 20 {
fmt.Println("Добрый день.")
} else {
fmt.Println("Добрый вечер.")
}
}
Пример
Здесь else if помогает сравнить a и b. Обе переменные содержат 14, поэтому ни одна проверка не проходит, и блок else сообщает, что они равны.
Prompt
Используй else if, чтобы сравнить две равные переменные и вывести результат.
Задай a и b равными 14.
Вывод: Программа на Go и захваченный вывод
main.go
package main
import ("fmt")
func main() {
a := 14
b := 14
if a < b {
fmt.Println("a меньше b.")
} else if a > b {
fmt.Println("a больше b.")
} else {
fmt.Println("a и b равны.")
}
}
Пример
Примечание: Go останавливается на первом условии, которое проходит проверку. При x, равном 30, и condition1, и condition2 прошли бы проверку, но выполняется только код для condition1:
Prompt
Покажи, что когда condition1 и condition2 оба истинны, выполняется только код для condition1.
Задай x равным 30 и проверь с условиями >= 10 и > 20.
Вывод: Программа на Go и захваченный вывод
main.go
package main
import ("fmt")
func main() {
x := 30
if x >= 10 {
fmt.Println("x больше или равно 10.")
} else if x > 20 {
fmt.Println("x больше 20.")
} else {
fmt.Println("x меньше 10.")
}
}