Ланцюжок Умов
Свайпніть щоб показати меню
Можна використовувати ключове слово else if для визначення додаткової умови, яка буде перевірена у випадку, якщо попередня умова не виконується:
index.go
12345678910package main import "fmt" func main() { if (3 > 4) { fmt.Println("3 is greater than 4") } else if (3 > 2) { fmt.Println("3 is greater than 2") } }
У наведеній вище програмі спочатку перевіряється вираз 3 > 4, який дорівнює false, тому програма переходить до наступної інструкції (3 > 2), визначеної за допомогою ключового слова else if. Наступна умова є true, тому у виводі відображається результат другої інструкції Println.
Можна додати стільки додаткових умов, скільки потрібно, використовуючи оператори else if:
index.go
1234567891011121314package main import "fmt" func main() { if (3 > 4) { fmt.Println("3 is greater than 4") } else if (3 > 3) { fmt.Println("3 is greater than 3") } else if (3 > 2) { fmt.Println("3 is greater than 2") } else if (3 > 1) { fmt.Println("3 is greater than 1") } }
Варто зазначити, що наведена вище програма виводить лише 3 is greater than 2, навіть якщо наступна умова також є true. Це демонструє, що ланцюжок if-else if припиняє перевірку умов, щойно знаходить першу true умову.
Цей процес називається умовним ланцюжком, оскільки ми фактично визначаємо умови у вигляді ланцюга за допомогою ключових слів if-else if.
Примітка
У ланцюжку умов виконується лише один блок коду — той, який задовольняє умову, а решта пропускаються.
Альтернативно, замість ланцюжка умов за допомогою комбінації if-else if, можна записати кожну умову окремим оператором if. Проте цей підхід дає інший результат, оскільки це вже не єдиний ланцюжок, а набір окремих умов, і тому виконання не припиняється, якщо одна чи кілька умов виконуються:
index.go
1234567891011121314151617package main import "fmt" func main() { if (3 > 4) { fmt.Println("3 is greater than 4") } if (3 > 3) { fmt.Println("3 is greater than 3") } if (3 > 2) { fmt.Println("3 is greater than 2") } if (3 > 1) { fmt.Println("3 is greater than 1") } }
До цього моменту, для спрощення, ми використовували значення у булевих виразах. Однак на практиці частіше використовують змінні або комбінацію змінних і значень у булевих виразах:
index.go
123456789package main import "fmt" func main() { var value int = 10 if (value == 10) { fmt.Println("The variable has the expected value.") } }
У ланцюжку умов можна використовувати ключове слово else для позначення блоку коду, який виконується, якщо жодна з умов у ланцюжку не виконана:
index.go
12345678910111213package main import "fmt" func main() { var value int = 70 if (value < 50) { fmt.Println("The value is less than 50") } else if (value == 50) { fmt.Println("The value is equal to 50") } else { fmt.Println("The value is greater than 50") } }
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат