Seriály

Swift akademie pro začátečníky: funkce #5

V minulém díle jsme si vysvětlili podmínky a switche. Dnes si vysvětlíme základy funkcí. 

Funkce

Co to vlastně funkce jsou? Jako funkce můžeme vyjádřit kusy kódu, který chceme použít víckrát. Pokud si nejste jisti s využitím funkcí nebojte se, v průběhu tohoto dílu vše určitě pochopíte. 

Uděláme si příklad: 

Zdroj: ceskymac.cz(Autor: Matyáš Himmer)

Touto jednoduchou syntaxí si vyjádříme novou funkci pozdrav(). Pokud funkcí spustíme, v outputu se nám zobrazí text Zdravím všechny. Jak můžeme funkci spustit? Je to jednoduché:  

Zdroj: ceskymac.cz(Autor: Matyáš Himmer)

Funkce pozdrav() se nám spustí a v outputu můžeme vidět výsledek funkce. 

Funkce můžeme v kódu spustit kolikrát chceme, třeba i takhle: 

Zdroj: ceskymac.cz(Autor: Matyáš Himmer)

Output by potom vypadal takto:

Zdroj: ceskymac.cz(Autor: Matyáš Himmer)

Parametry

Funkce mohou přijímat parametry. Pomocí parametrů si funkci můžeme přizpůsobit tak jak chceme. Parametry se vždy píší do ( ) v této syntaxi:

Zdroj: ceskymac.cz(Autor: Matyáš Himmer)

Naší funkci jsme si přizpůsobili tak, aby přijímala parametr jmeno. Datový typ parametru jmeno je String. V kódu, který napíšeme do naší funkce můžeme odkazovat na parametry. V tomto případě jsme použili interpolaci textového řetězce.

Kdybychom chtěli funkci spustit, musíme zároveň vyjádřit hodnotu parametru jmeno: 

Zdroj: ceskymac.cz(Autor: Matyáš Himmer)

TIP: Pokud napíšeme _ před název našeho parametru, jméno parametru poté nemusíme psát při spouštění funkce:

Zdroj: ceskymac.cz(Autor: Matyáš Himmer)

Funkce nejsou omezené jen na jeden parametr. Do funkcí můžeme vložit i několik parametrů, všechny ale musíme oddělit čárkou:

Zdroj: ceskymac.cz(Autor: Matyáš Himmer)

Vnitřní a vnější názvy parametrů

Nejdříve si ukážeme kus kódu:

Zdroj: ceskymac.cz(Autor: Matyáš Himmer)

Vytvořili jsme si novou funkci, která nám spočítá znaky v našem parametru. Všechno v tomto kódu by nám mělo být jasné, jediná novinka, které si můžeme hned všimnout je, že námi vytvořený parametr má dva názvy. První název v a druhý název vstup. Tento postup se ve Swiftu používá velmi často. První název se používá při spouštění funkce a druhý název se používá ve funkci samotné. Může se říct, že první název je vnější (external) a druhý je vnitřní (internal).

Return

Každá funkce nám může vrátit hodnotu, kterou poté můžeme přiřadit třeba k proměnné. Abychom mohli použít metodu return, nejdříve k tomu musíme naší funkci přizpůsobit:

Zdroj: ceskymac.cz(Autor: Matyáš Himmer)

Za ( )  napíšeme -> a za šipkou vyjádříme datový typ, který chceme aby nám funkce vrátila. 

Teď rozšíříme naší funkci tak, aby nám vrátila hodnotu:

Zdroj: ceskymac.cz(Autor: Matyáš Himmer)

Nyní jsme přidali podmínku. Podmínky jsme si vysvětlovali v minulém díle, takže byste tento kód měli chápat. Jediné co by pro vás mohlo být nepochopitelné je spojení return true a return false. Funkce nám vrátí hodnotu buď true nebo false. Proč existují return funkce si ukážeme v dalším příkladu.

Ukážeme si ještě jeden postup, který se často ve Swiftu používá. K tomu si vytvoříme novou funkci: 

Zdroj: ceskymac.cz(Autor: Matyáš Himmer)

Vytvořili jsme si novou funkci naDruhou, která přijímá jeden parametr číslo a returnuje Integer

Celý kód se skládá jen z vynásobení našeho čísla naším číslem, nový výsledek poté returneme.

Novinkou je řádka 63. Vytvoříme si novou konstantu mojeCisloNaDruhou ke které přiřadíme naší funkci s parametrem 14. Jelikož naše funkce returnuje číslo, hodnotou naší nové konstanty je ono číslo, které nám funkce vrátila. 

Upozornění

Jak už jsme si řekli. Nikdy nemůžeme ve Swiftu míchat datové typy a stejně to je i u funkcí, které nám vrací hodnotu. Ukážu vám příklad kódu jak přesně funkci nesmíme napsat:

Zdroj: ceskymac.cz(Autor: Matyáš Himmer)
Zdroj: ceskymac.cz(Autor: Matyáš Himmer)

Jak můžete vidět, datový typ parametru spatnyPriklad je String. Naše funkce je nastavena tak, aby vrátila Boolean. Ze Stringu se Boolean v tomto případě stát nemůže. 

Shrnutí

  1. Funkce spouštíme tak, že napíšeme názevNašíFunkce()
  2. Funkce můžeme spustit kolikrát chceme
  3. Parametry funkcí píšeme do dvou závorek po názvu funkce. názevParametru: datovýTyp
  4. Pokud nechceme psát název parametru při spouštění funkce. Můžeme před název funkce napsat podtržítko
  5. Do funkce můžeme zahrnout kolik parametrů chceme. Musíme ale jednotlivé parametry oddělit čárkou
  6. Jednomu parametru můžeme přiřadit dva názvy. První název se používá při spouštění funkce, druhý ve funkci samotné.
  7. Funkce nám mohou vracet hodnoty. Pokud chceme, aby nám funkce vracela hodnotu, musíme určit datový typ hodnoty, která se vrátí. Datový typ určíme pomocí napsaní šipky a datového typu za závorky. 
  8. Vždy musíme vrátit stejný datový typ jako ten, který je napsaný za šipkou

Všechen kód, který jsme v tomto díle napsali můžete naleznout na mém GitHubu.

Štítky

Matyáš Himmer

Fanoušek Applu od roku 2011, rád fotím a programuji. Články píši ve svém volném čase, studuji informační technologie na SSPŠ.

Napsat komentář

Vaše emailová adresa nebude zveřejněna.

Close