Funkce Kotlin (s příkladem)

V tomto článku se dozvíte o funkcích; jaké jsou funkce, jejich syntaxe a jak vytvořit uživatelskou funkci v Kotlin.

V programování je funkce skupina souvisejících příkazů, které provádějí konkrétní úkol.

Funkce se používají k rozdělení velkého programu na menší a modulární bloky. Například je třeba vytvořit a vybarvit kruh na základě vstupu od uživatele. K vyřešení tohoto problému můžete vytvořit dvě funkce:

  • createCircle() Funkce
  • colorCircle() Funkce

Rozdělení komplexního programu na menší součásti činí náš program organizovanějším a zvládnutelnějším.

Kromě toho se vyhýbá opakování a umožňuje opětovné použití kódu.

Druhy funkcí

V závislosti na tom, zda je funkce definována uživatelem nebo je k dispozici ve standardní knihovně, existují dva typy funkcí:

  • Funkce standardní knihovny Kotlin
  • Uživatelem definované funkce

Funkce standardní knihovny Kotlin

Standardní funkce knihovny jsou vestavěné funkce v Kotlin, které jsou snadno dostupné pro použití. Například,

  • print() je funkce knihovny, která tiskne zprávy do standardního výstupního proudu (monitoru).
  • sqrt()vrací druhou odmocninu čísla ( Doublehodnoty)
 fun main(args: Array) ( var number = 5.5 print("Result = $(Math.sqrt(number))") )

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

 Výsledek = 2,345207879911715

Zde je odkaz na standardní knihovnu Kotlin, kterou můžete prozkoumat.

Uživatelem definované funkce

Jak již bylo zmíněno, můžete si vytvořit funkce sami. Takové funkce se nazývají uživatelem definované funkce.

Jak vytvořit uživatelskou funkci v Kotlin?

Než budete moci použít (zavolat) funkci, musíte ji definovat.

Zde můžete definovat funkci v Kotlin:

 zábavné voláníMe () (// tělo funkce) 

K definování funkce v Kotlinu funse používá klíčové slovo. Poté přijde název funkce (identifikátor). Zde je název funkce callMe.

Ve výše uvedeném programu je závorka ( )prázdná. To znamená, že tato funkce nepřijímá žádný argument. O argumentech se dozvíte dále v tomto článku.

Kódy uvnitř složených závorek ( )jsou tělem funkce.

Jak volat funkci?

Chcete-li spustit kódy uvnitř těla funkce, musíte funkci zavolat. Zde je postup:

 zavolej mi()

Toto prohlášení volá callMe()funkci deklarovanou dříve.

Příklad: Program jednoduchých funkcí

 fun callMe() ( println("Printing from callMe() function.") println("This is cool (still printing from inside).") ) fun main(args: Array) ( callMe() println("Printing outside from callMe() function.") )

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

Tisk z funkce callMe (). To je v pohodě (stále tisk zevnitř). Tisk mimo funkci callMe ().

callMe()Funkci ve výše uvedeném kódu nepřijímá žádný argument.

Funkce také nevrací žádnou hodnotu (návratový typ je Unit).

Vezměme si další příklad funkce. Tato funkce přijímá argumenty a také vrací hodnotu.

Příklad: Přidejte dvě čísla pomocí funkce

 fun addNumbers(n1: Double, n2: Double): Int ( val sum = n1 + n2 val sumInteger = sum.toInt() return sumInteger ) fun main(args: Array) ( val number1 = 12.2 val number2 = 3.4 val result: Int result = addNumbers(number1, number2) println("result = $result") )

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

 výsledek = 15

Jak fungují funkce s argumenty a návratovou hodnotou?

Tady Doublejsou addNumbers()během volání funkce předány funkci dva argumenty číslo1 a číslo2 typu . Tyto argumenty se nazývají skutečné argumenty.

 result = addNumbers (number1, number2)

Parametry n1 a n2 přijímají předané argumenty (v definici funkce). Tyto argumenty se nazývají formální argumenty (nebo parametry).

V Kotlinu jsou argumenty odděleny čárkami. Typ formálního argumentu musí být také explicitně zadán.

Všimněte si, že datový typ skutečných a formálních argumentů by se měl shodovat, tj. Datový typ prvního skutečného argumentu by se měl shodovat s typem prvního formálního argumentu. Podobně se typ druhého skutečného argumentu musí shodovat s typem druhého formálního argumentu atd.

Tady,

 return sumInteger

je návratový příkaz. Tento kód ukončuje addNumbers()funkci a ovládání programu přeskočí na main()funkci.

V programu je sumInteger vrácen z addNumbers()funkce. Tato hodnota je přiřazena výsledku proměnné.

Oznámení,

  • sumInteger i result jsou typu Int.
  • návratový typ funkce je uveden v definici funkce.
     // return type is Int fun addNumbers(n1: Double, n2: Double): Int (… )

If the function doesn't return any value, its return type is Unit. It is optional to specify the return type in the function definition if the return type is Unit.

Example: Display Name by Using Function

 fun main(args: Array) ( println(getName("John", "Doe")) ) fun getName(firstName: String, lastName: String): String = "$firstName $lastName"

When you run the program, the output will be:

 John Doe

Here, the getName() function takes two String arguments, and returns a String.

You can omit the curly braces ( ) of the function body and specify the body after = symbol if the function returns a single expression (like above example).

It is optional to explicitly declare the return type in such case because the return type can be inferred by the compiler. In the above example, you can replace

 fun getName (firstName: String, lastName: String): String = "$ firstName $ lastName"

s

 fun getName (firstName: String, lastName: String) = "$ firstName $ lastName" 

Toto je jen krátký úvod do funkcí v Kotlin. Doporučené články týkající se funkcí:

  • Vložené funkce Kotlin
  • Funkce Kotlin infix
  • Rozsah funkce Kotlin
  • Výchozí a pojmenované argumenty Kotlin
  • Kotlinova rekurze
  • Kotlinova ocasní rekurzivní funkce
  • Funkce rozšíření Kotlin
  • Kotlin High-Order Functions & Lambdas

Zajímavé články...