Selles artiklis saate teada funktsioonidest; mis funktsioonid on, selle süntaks ja kuidas luua Kotlinis kasutajafunktsioon.
Programmeerimisel on funktsioon seotud lausete rühm, mis täidab konkreetset ülesannet.
Funktsioone kasutatakse suure programmi jagamiseks väiksemateks ja modulaarseteks tükkideks. Näiteks peate kasutaja sisendi põhjal looma ja värvima ringi. Selle probleemi lahendamiseks saate luua kaks funktsiooni:
createCircle()
FunktsiooncolorCircle()
Funktsioon
Keerulise programmi jagamine väiksemateks komponentideks muudab meie programmi organiseeritumaks ja hallatavamaks.
Lisaks väldib see kordamist ja muudab koodi korduvkasutatavaks.
Funktsioonide tüübid
Sõltuvalt sellest, kas kasutaja on funktsiooni määratlenud või saadaval standardraamatukogus, on kahte tüüpi funktsioone:
- Kotlini standardraamatukogu funktsioon
- Kasutaja määratletud funktsioonid
Kotlini standardraamatukogu funktsioon
Raamatukogu standardfunktsioonid on Kotlini sisseehitatud funktsioonid, mis on kasutamiseks hõlpsasti kättesaadavad. Näiteks,
print()
on teegi funktsioon, mis prindib sõnumi standardsesse väljundvoogu (monitori).sqrt()
tagastab arvu ruutjuure (Double
väärtus)
fun main(args: Array) ( var number = 5.5 print("Result = $(Math.sqrt(number))") )
Programmi käivitamisel on väljund järgmine:
Tulemus = 2.345207879911715
Siin on teile uurimiseks link Kotlini standardraamatukogule.
Kasutaja määratud funktsioonid
Nagu mainitud, saate ise funktsioone luua. Selliseid funktsioone nimetatakse kasutaja määratletud funktsioonideks.
Kuidas luua Kotlinis kasutaja määratud funktsioon?
Enne funktsiooni kasutamist (kõne) peate selle määratlema.
Kotlini funktsiooni saate määratleda järgmiselt.
lõbus callMe () (// funktsiooni keha)
Kotlini funktsiooni määratlemiseks fun
kasutatakse märksõna. Siis tuleb funktsiooni nimi (identifikaator). Siin on funktsiooni nimi callMe.
Ülaltoodud programmis on sulgud ( )
tühjad. See tähendab, et see funktsioon ei aktsepteeri ühtegi argumenti. Argumentide kohta saate teada hiljem sellest artiklist.
Kumerate traksidega koodid ( )
on funktsiooni põhiosa.
Kuidas funktsiooni kutsuda?
Koodide käivitamiseks funktsiooni kehas peate funktsiooni kutsuma. Nii toimige järgmiselt.
helista mulle()
See lause kutsub callMe()
varem deklareeritud funktsiooni.
Näide: lihtsate funktsioonide programm
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.") )
Programmi käivitamisel on väljund järgmine:
Funktsioonist callMe () printimine. See on lahe (ikka seestpoolt printimine). Printimine väljaspool funktsiooni callMe ().
callMe()
Funktsiooni eespool nimetatud koodi ei aktsepteeri ühtegi argumenti.
Samuti ei tagasta funktsioon väärtust (tagastuse tüüp on Unit
).
Võtame veel ühe funktsiooni näite. See funktsioon aktsepteerib argumente ja tagastab ka väärtuse.
Näide: lisage kaks numbrit funktsiooni abil
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") )
Programmi käivitamisel on väljund järgmine:
tulemus = 15
Kuidas toimivad funktsioonid argumentidega ja tagastusväärtusega?
Siin Double
edastatakse addNumbers()
funktsioonile helistamise ajal funktsioonile kaks argumenti number1 ja number2 . Neid argumente nimetatakse tegelikeks argumentideks.
tulemus = addNumbers (number1, number2)
Parameetrid n1 ja n2 aktsepteerivad edastatud argumente (funktsiooni määratluses). Neid argumente nimetatakse formaalseteks argumentideks (või parameetriteks).
In Kotlin, arguments are separated using commas. Also, the type of the formal argument must be explicitly typed.
Note that, the data type of actual and formal arguments should match, i.e., the data type of first actual argument should match the type of first formal argument. Similarly, the type of second actual argument must match the type of second formal argument and so on.
Here,
return sumInteger
is the return statement. This code terminates the addNumbers()
function, and control of the program jumps to the main()
function.
In the program, sumInteger is returned from addNumbers()
function. This value is assigned to the variable result.
Notice,
- both sumInteger and result are of type
Int
. - the return type of the function is specified in the function definition.
// 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
lõbus getName (eesnimi: string, perekonnanimi: string): string = "$ firstName $ lastName"
koos
fun getName (eesnimi: string, perekonnanimi: string) = "$ eesnimi $ perenimi"
See on lihtsalt Kotlini funktsioonide lühitutvustus. Funktsioonidega seotud soovitatavad artiklid:
- Kotlini sisesed funktsioonid
- Kotlini infiksi funktsioonid
- Kotlini funktsiooni ulatus
- Kotlini vaikimisi ja nimega argumendid
- Kotlini rekursioon
- Kotlini saba rekursiivne funktsioon
- Kotlini laienduse funktsioon
- Kotlini kõrgekvaliteedilised funktsioonid ja lambdad