Ternárny podmienený operátor Swift (s príkladmi)

V tomto článku sa naučíte používať podmienený alebo ternárny operátor na zmenu toku riadenia programu.

Ternárny podmienený operátor "? :"je skratkou pre príkaz if-else.

Syntax pre ternárny podmienený operátor je:

stav? hodnota1: hodnota2

Ako funguje ternárny podmienený operátor?

Takto to funguje

  • Ak je podmienka pravdivá, vráti hodnotu1.
  • Ak je podmienka nepravdivá, vráti hodnotu2.

Vyššie uvedený ekvivalentný kód s použitím if - else je:

 ak podmienka (hodnota1) else (hodnota2)

Prečo používať ternárneho podmieneného operátora?

Možno sa pýtate, prečo by sme mali používať podmienený operátor, ak vykonáva rovnakú prácu ako príkaz if-else. Hlavným účelom jeho použitia je dosiahnuť, aby bol kód kratší a čitateľnejší.

Pre jednoduché podmienky to môžete vyhodnotiť v jednom riadku s menším počtom kódu, ako keby-inak.

Príklad 1: Jednoduchý príklad využívajúci ternárny podmienený operátor

 print(true && false ? "The condition is true": "The condition is false")

Vyššie uvedený ekvivalentný kód s použitím if - else je:

 if true && false ( print("The condition is true") ) else ( print("The condition is false") ) 

Keď spustíte vyššie uvedený program, výstup bude:

 Podmienka je nepravdivá

Vo vyššie uvedenom programe sa výraz true && falsevyhodnotí na false, preto príkaz vráti reťazec Podmienka je nepravdivá a príkaz print vydá reťazec v konzole.

Ak zmeníte výraz, keď true || falsesa príkaz vyhodnotí truea vráti reťazec Podmienka je pravdivá a príkaz print vypíše reťazec v konzole.

Na čo treba pamätať

Ako alternatívu if-else-ifpríkazu je možné použiť aj ternárny podmienený operátor .

Pomocou ternárneho podmieneného operátora môžete nahradiť viac riadkov if-else-ifkódu jedným riadkom.

To však nemusí byť dobrý nápad.

Príklad 2: Vnorené, ak nie, pomocou ternárneho podmieneného operátora

 if true && false ( print("Result is (true && false)") ) else if true || false ( print("Result is (true || false)") ) else if false || false ( print("Result is (false || false)") ) else ( print("Default else statement") ) 

Vyššie uvedený ekvivalentný kód využívajúci ternárny podmienený operátor je:

 print(true && false ? "Result is (true && false)" : true || false ? "Result is (true || false)" : false || false ? "Result is (false || false)" : "The condition is unknown")

Keď spustíte vyššie uvedené programy, oba výstupy budú:

 Výsledok je pravdivý

Vo vyššie uvedených programoch, aj keď vyhlásenia o if-else-ifsú nahradené jedným riadkom pomocou podmieneného operátora. Výraz použitý v ternárnom podmienenom operátore je skutočne ťažké pochopiť.

Zostaňte teda iba pri použití ternárneho podmieneného operátora ako alternatívy if-elsetvrdenia.

Zaujímavé články...