Заява про швидкий перемикач (з прикладами)

У цій статті ви навчитеся використовувати оператори керування перемикачами для управління потоком виконання вашої програми.

Інструкція switch також є різновидом оператора управління Swift egif-else, guard тощо, який виконує різні дії на основі різних умов.

Краса оператора switch полягає в тому, що він може порівняти значення з кількома можливими шаблонами відповідності. Тому його можна використовувати як заміну довгим if… else… ifдрабинам, одночасно збігаючи складний малюнок.

Синтаксис оператора switch

Синтаксис оператора switch:

 перемикач змінної / виразу (значення справи1: // оператори значення справи2: // оператори за замовчуванням: // оператори)

Як працює Statement Statement в Swift?

  • Вираз перемикача оцінюється один раз.
  • Він бере вираз і порівнює значення кожного випадку в порядку (Верх -> Знизу).
  • Якщо є збіг, оператор усередині справи виконується, і весь оператор switch закінчує своє виконання, як тільки завершується перший відповідний випадок перемикача.
  • Якщо для справи немає відповідності, вона переходить до наступної справи.
  • Ключове слово за замовчуванням визначає код для запуску, якщо немає відповідності регістру.

Примітка : Тіло кожного випадку має містити принаймні один виконуваний оператор.

Приклад 1: Проста програма, яка використовує Statement Switch

 let dayOfWeek = 4 switch dayOfWeek ( case 1: print("Sunday") case 2: print("Monday") case 3: print("Tuesday") case 4: print("Wednesday") case 5: print("Thursday") case 6: print("Friday") case 7: print("Saturday") default: print("Invalid day") ) 

Коли ви запускаєте вищезазначену програму, результат буде:

 Середа

У наведеній вище програмі оператор switch починається зі збігу значення dayOfWeek із випадком 1 . Оскільки значення dayOfWeek не відповідає першому значенню випадку 1, воно падає до наступного випадку, поки не збігається.

Оскільки випадок 4 відповідає виразу switch, оператор print("Wednesday")всередині case виконується, а case case закінчується. Якщо не знайдено жодного випадку, виконується оператор усередині за замовчуванням .

Приклад 2: Заява про перемикання з переходом

Якщо ви використовуєте fallthroughключове слово всередині оператора case, елемент керування переходить до наступного випадку, навіть якщо значення case не збігається з виразом switch.

 let dayOfWeek = 4 switch dayOfWeek ( case 1 : print("Sunday") case 2: print("Monday") case 3: print("Tuesday") case 4: print("Wednesday") fallthrough case 5: print("Thursday") case 6: print("Friday") case 7: print("Saturday") default: print("Invalid day") ) 

Коли ви запускаєте вищезазначену програму, результат буде:

 Середа четвер

У наведеній вище програмі case 4 виконує оператор, print("Wednesday")а fallthroughключове слово переходить до case5 . Заява print("Thursday")в разі 5 виконує навіть якщо справа не збігається з виразом перемикача. Тому ви можете побачити вихідні дані четверга в консолі.

Приклад 3: Заява про перемикання з більш складними шаблонами

 let programmingLanguage = (name: "Go", version: 10) switch programmingLanguage ( case (let name,let version) where (version < 0 && name.count < 0) : print("Invalid input") case ("Swift",let version) where version == 4: print("Found latest version of Swift") case ("Swift" ,… <4 ): print("Found older version of swift)") case ("Swift" ,4… ) : print("Swift version greater than 4 is not released yet") case ("Taylor Swift",30) : print("OMG. This is Taylor swift") case (let name, let version): print(""" Programming Language:(name) Version: (version) Status: Not found """) ) 

Коли ви запускаєте вищезазначену програму, результат буде:

 Мова програмування: Go Версія: 10 Стан: Не знайдено

У наведеній вище програмі ми узгоджуємо вираз програмування мови з різними випадками, як показано нижче:

  • case (let name,let version) where (version < 0 && name.count < 0)
    Цей випадок прив'язує значення виразу перемикача до тимчасових констант або змінних для використання в тілі справи з letключовим словом. Це відоме як прив'язка значень.
    Ви також можете застосувати умову до цих значень за допомогою whereречення. Для кількох умов, де їх можна об’єднати, використовуючи &&оператор, як у прикладі вище.
    Якщо випадок не задовольняє умові, визначеній у реченні where, оператори всередині цього блоку case не виконуються і провалюються для порівняння наступного випадку перемикання.
  • case ("Swift" ,… <4 )
    Цей випадок узгоджує перший елемент кортежу з рядковим літералом, "Swift"а також перевіряє, чи знаходиться другий елемент всередині одностороннього діапазону … <4.
  • case ("Swift" ,4… )
    Цей випадок узгоджує перший елемент кортежу з рядковим літералом, "Swift"а також перевіряє, чи знаходиться другий елемент всередині одностороннього діапазону 4… .
  • case (let name, let version)
    Цей випадок прив'язує всі значення кортежів до тимчасових констант або змінних.

Цікаві статті...