I denne artikel lærer du om funktioner; hvilke funktioner der er, dens syntaks og hvordan man opretter en brugerfunktion i Kotlin.
I programmering er funktion en gruppe relaterede udsagn, der udfører en bestemt opgave.
Funktioner bruges til at opdele et stort program i mindre og modulære stykker. For eksempel skal du oprette og farve en cirkel baseret på input fra brugeren. Du kan oprette to funktioner til at løse dette problem:
createCircle()
FungerecolorCircle()
Fungere
At opdele et komplekst program i mindre komponenter gør vores program mere organiseret og håndterbart.
Desuden undgår det gentagelse og gør kode genanvendelig.
Typer af funktioner
Afhængigt af om en funktion er defineret af brugeren eller tilgængelig i standardbiblioteket, er der to typer funktioner:
- Kotlin Standard Library-funktion
- Brugerdefinerede funktioner
Kotlin Standard Library-funktion
Standardbiblioteksfunktionerne er indbyggede funktioner i Kotlin, som er let tilgængelige til brug. For eksempel,
print()
er en biblioteksfunktion, der udskriver besked til standardoutputstrømmen (skærm).sqrt()
returnerer kvadratroden af et tal (Double
værdi)
fun main(args: Array) ( var number = 5.5 print("Result = $(Math.sqrt(number))") )
Når du kører programmet, vil output være:
Resultat = 2.345207879911715
Her er et link til Kotlin Standard Library, som du kan udforske.
Brugerdefinerede funktioner
Som nævnt kan du selv oprette funktioner. Sådanne funktioner kaldes brugerdefinerede funktioner.
Hvordan oprettes en brugerdefineret funktion i Kotlin?
Før du kan bruge (ringe) til en funktion, skal du definere den.
Sådan kan du definere en funktion i Kotlin:
fun callMe () (// funktionselement)
For at definere en funktion i Kotlin fun
bruges nøgleord. Derefter kommer navnet på funktionen (identifikator). Her er navnet på funktionen callMe.
I ovenstående program er parentesen ( )
tom. Det betyder, at denne funktion ikke accepterer noget argument. Du vil lære om argumenter senere i denne artikel.
Koderne inden for krøllede seler ( )
er funktionens krop.
Hvordan kaldes en funktion?
Du er nødt til at kalde funktionen til at køre koder inde i funktionens hoveddel. Sådan gør du:
Ring til mig()
Denne erklæring kalder den callMe()
tidligere erklærede funktion.
Eksempel: Simpel funktionsprogram
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.") )
Når du kører programmet, vil output være:
Udskrivning fra callMe () -funktionen. Dette er sejt (stadig udskrivning indefra). Udskrivning uden for callMe () -funktionen.
Den callMe()
funktion i ovenstående kode accepterer ikke noget argument.
Funktionen returnerer heller ikke nogen værdi (returtype er Unit
).
Lad os tage et andet funktionseksempel. Denne funktion accepterer argumenter og returnerer også en værdi.
Eksempel: Tilføj to numre ved hjælp af funktion
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") )
Når du kører programmet, vil output være:
resultat = 15
Hvordan fungerer funktioner med argumenter og returværdi?
Her Double
sendes to argumenter nummer 1 og nummer 2 af typen til addNumbers()
funktionen under funktionsopkald. Disse argumenter kaldes egentlige argumenter.
resultat = addNumbers (nummer1, nummer2)
Parametrene n1 og n2 accepterer de beståede argumenter (i funktionsdefinitionen). Disse argumenter kaldes formelle argumenter (eller parametre).
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
fun getName (firstName: String, lastName: String): String = "$ firstName $ lastName"
med
fun getName (firstName: String, lastName: String) = "$ firstName $ lastName"
Dette er kun den korte introduktion til funktioner i Kotlin. Anbefalede artikler relateret til funktioner:
- Kotlin inline-funktioner
- Kotlin infix-funktioner
- Kotlin-funktionsomfang
- Kotlin standard- og navngivne argumenter
- Kotlin rekursion
- Kotlin Tail Rekursiv funktion
- Kotlin-udvidelsesfunktion
- Kotlin High Order-funktioner og lambdas