V tomto článku sa dozviete o funkciách; čo sú to funkcie, ich syntax a ako vytvoriť užívateľskú funkciu v Kotline.
V programovaní je funkcia skupina súvisiacich príkazov, ktoré vykonávajú konkrétnu úlohu.
Funkcie sa používajú na rozdelenie veľkého programu na menšie a modulárne bloky. Napríklad je potrebné vytvoriť a vyfarbiť kruh na základe vstupu používateľa. Na vyriešenie tohto problému môžete vytvoriť dve funkcie:
createCircle()
FunkciacolorCircle()
Funkcia
Rozdelenie zložitého programu na menšie súčasti umožňuje náš program organizovať a spravovať ho lepšie.
Ďalej sa vyhýba opakovaniu a umožňuje opätovné použitie kódu.
Typy funkcií
Podľa toho, či je funkcia definovaná používateľom alebo je k dispozícii v štandardnej knižnici, existujú dva typy funkcií:
- Štandardná funkcia knižnice Kotlin
- Užívateľom definované funkcie
Štandardná funkcia knižnice Kotlin
Štandardné funkcie knižnice sú vstavané funkcie v Kotline, ktoré sú ľahko dostupné na použitie. Napríklad,
print()
je funkcia knižnice, ktorá tlačí správu do štandardného výstupného toku (monitora).sqrt()
vráti druhú odmocninu čísla (Double
hodnoty)
fun main(args: Array) ( var number = 5.5 print("Result = $(Math.sqrt(number))") )
Po spustení programu bude výstup:
Výsledok = 2,345207879911715
Tu je odkaz na štandardnú knižnicu Kotlin, ktorú môžete preskúmať.
Užívateľom definované funkcie
Ako už bolo spomenuté, funkcie si môžete vytvárať sami. Takéto funkcie sa nazývajú používateľom definované funkcie.
Ako vytvoriť užívateľom definovanú funkciu v Kotline?
Predtým, ako budete môcť používať (volať) funkciu, musíte ju definovať.
Takto môžete definovať funkciu v Kotline:
zábavné volanie Me () (// telo funkcie)
Na definovanie funkcie v Kotline fun
sa používa kľúčové slovo. Potom nasleduje názov funkcie (identifikátor). Tu sa názov funkcie volá CallMe.
Vo vyššie uvedenom programe je zátvorka ( )
prázdna. To znamená, že táto funkcia neprijíma žiadne argumenty. O argumentoch sa dozviete ďalej v tomto článku.
Kódy vo vnútri zložených zátvoriek ( )
sú telom funkcie.
Ako zavolať funkciu?
Ak chcete spustiť kódy v tele funkcie, musíte túto funkciu zavolať. Tu je postup:
zavolaj mi()
Toto vyhlásenie volá callMe()
funkciu deklarovanú skôr.
Príklad: Program jednoduchých funkcií
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.") )
Po spustení programu bude výstup:
Tlač z funkcie callMe (). To je v pohode (stále sa tlačí z vnútra). Tlač mimo z funkcie callMe ().
callMe()
Funkciu vo vyššie uvedenom kóde neprijíma žiadny argument.
Funkcia tiež nevracia žiadnu hodnotu (návratový typ je Unit
).
Zoberme si ďalší príklad funkcie. Táto funkcia prijíma argumenty a tiež vracia hodnotu.
Príklad: Pridajte dve čísla pomocou funkcie
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") )
Po spustení programu bude výstup:
výsledok = 15
Ako fungujú funkcie s argumentmi a návratovou hodnotou?
Tu Double
sa addNumbers()
funkcii počas hovoru funkcie odovzdajú dva argumenty číslo1 a číslo2 typu . Tieto argumenty sa nazývajú skutočné argumenty.
result = addNumbers (number1, number2)
Parametre n1 a n2 prijímajú odovzdané argumenty (v definícii funkcie). Tieto argumenty sa nazývajú formálne argumenty (alebo parametre).
V Kotline sú argumenty oddelené čiarkami. Typ formálneho argumentu musí byť tiež výslovne napísaný.
Upozorňujeme, že dátový typ skutočných a formálnych argumentov by sa mal zhodovať, tj dátový typ prvého skutočného argumentu by sa mal zhodovať s typom prvého formálneho argumentu. Podobne sa druh druhého skutočného argumentu musí zhodovať s typom druhého formálneho argumentu atď.
Tu,
spiatočná sumaInteger
je výkaz návratnosti. Tento kód ukončí addNumbers()
funkciu a riadenie programu skočí na túto main()
funkciu.
V programe je sumInteger vrátený z addNumbers()
funkcie. Táto hodnota je priradená výsledku premennej.
Všimnite si,
- sumInteger aj result sú typu
Int
. - návratový typ funkcie je uvedený v definícii funkcie.
// 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
zábava getName (meno: String, priezvisko: String): String = "$ firstName $ lastName"
s
zábava getName (meno: String, priezvisko: String) = "$ menoName $ priezvisko"
Toto je iba krátke predstavenie funkcií v Kotline. Odporúčané články týkajúce sa funkcií:
- Vložené funkcie Kotlin
- Funkcie Kotlin infix
- Rozsah funkcie Kotlin
- Predvolené a pomenované argumenty pre Kotlin
- Kotlinova rekurzia
- Kotlinova chvostová rekurzívna funkcia
- Funkcia rozšírenia Kotlin
- Funkcie Kotlin High-Order & Lambdas