Podmíněný operátor Swift Ternary (s příklady)

V tomto článku se naučíte používat podmíněný nebo ternární operátor ke změně toku řízení programu.

Ternární podmíněný operátor "? :"je zkratka pro příkaz if-else.

Syntaxe pro ternární podmíněný operátor je:

stav? hodnota1: hodnota2

Jak funguje ternární podmíněný operátor?

Funguje to takto

  • Pokud je podmínka pravdivá, vrátí hodnotu1.
  • Pokud je podmínka false, vrátí hodnotu2.

Výše uvedený ekvivalentní kód pomocí if - else je:

 pokud podmínka (hodnota1) else (hodnota2)

Proč používat ternární podmíněný operátor?

Možná se divíte, proč bychom měli používat podmíněný operátor, pokud provádí stejnou práci jako příkaz if-else. Hlavním účelem jeho použití je, aby byl kód kratší a čitelnější.

Pro jednoduché podmínky to můžete vyhodnotit na jednom řádku s menším množstvím kódu, než kdyby-else.

Příklad 1: Jednoduchý příklad pomocí ternárního podmíněného operátoru

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

Výše uvedený ekvivalentní kód pomocí if - else je:

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

Když spustíte výše uvedený program, výstup bude:

 Podmínka je nepravdivá

Ve výše uvedeném programu se výraz true && falsevyhodnotí na false, proto příkaz vrací řetězec . Podmínka je nepravdivá a příkaz print vydá řetězec v konzole.

Pokud změníte výraz, když true || falsese příkaz vyhodnotí truea vrátí řetězec Podmínka je pravdivá a příkaz print vypíše řetězec v konzole.

Věci k zapamatování

Ternární podmíněný operátor lze také použít jako alternativu if-else-ifpříkazu.

Pomocí ternárního podmíněného operátoru můžete nahradit více řádků if-else-ifkódu jediným řádkem.

To však nemusí být dobrý nápad.

Příklad 2: Vnořeno, pokud jinak, pomocí ternárního podmíněného operátoru

 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") ) 

Výše uvedený ekvivalentní kód využívající ternární podmíněný 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")

Když spustíte výše uvedené programy, oba výstupy budou:

 Výsledek je pravdivý

Ve výše uvedených programech, i když jsou příkazy if-else-ifnahrazeny jediným řádkem pomocí podmíněného operátoru. Výraz použitý v ternárním podmíněném operátoru je opravdu těžké pochopit.

Jen se tedy držte použití ternárního podmíněného operátoru jako alternativy if-elsepouze příkazu.

Zajímavé články...