Kotlin-funktion (med exempel)

Innehållsförteckning

I den här artikeln lär du dig om funktioner; vilka funktioner är, dess syntax och hur man skapar en användarfunktion i Kotlin.

I programmering är funktion en grupp relaterade uttalanden som utför en specifik uppgift.

Funktioner används för att dela upp ett stort program i mindre och modulära bitar. Du måste till exempel skapa och färga en cirkel baserat på användarens inmatning. Du kan skapa två funktioner för att lösa detta problem:

  • createCircle() Fungera
  • colorCircle() Fungera

Att dela upp ett komplext program i mindre komponenter gör vårt program mer organiserat och hanterbart.

Dessutom undviks upprepning och gör kod återanvändbar.

Typer av funktioner

Beroende på om en funktion definieras av användaren eller finns i standardbiblioteket finns det två typer av funktioner:

  • Kotlins standardbiblioteksfunktion
  • Användardefinierade funktioner

Kotlins standardbiblioteksfunktion

Standardbiblioteksfunktionerna är inbyggda funktioner i Kotlin som är tillgängliga för användning. Till exempel,

  • print() är en biblioteksfunktion som skriver ut meddelandet till standardutmatningsströmmen (monitor).
  • sqrt()returnerar kvadratrot av ett tal ( Doublevärde)
 fun main(args: Array) ( var number = 5.5 print("Result = $(Math.sqrt(number))") )

När du kör programmet blir resultatet:

 Resultat = 2.345207879911715

Här är en länk till Kotlin Standard Library som du kan utforska.

Användardefinierade funktioner

Som nämnts kan du själv skapa funktioner. Sådana funktioner kallas användardefinierade funktioner.

Hur skapar jag en användardefinierad funktion i Kotlin?

Innan du kan använda (ringa) en funktion måste du definiera den.

Så här kan du definiera en funktion i Kotlin:

 fun callMe () (// funktionsdel) 

För att definiera en funktion i Kotlin används funnyckelord. Sedan kommer namnet på funktionen (identifierare). Här är funktionens namn callMe.

I ovanstående program är parentesen ( )tom. Det betyder att den här funktionen inte accepterar något argument. Du lär dig mer om argument senare i den här artikeln.

Koderna i lockiga hängslen ( )är funktionens kropp.

Hur man ringer till en funktion?

Du måste anropa funktionen för att köra koder inuti funktionens kropp. Här är hur:

 ring mig()

Detta uttalande kallar den callMe()funktion som deklarerats tidigare.

Exempel: Enkelt 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ör programmet blir resultatet:

Skriva ut från callMe () -funktionen. Det här är coolt (skrivs fortfarande ut inifrån). Utskrift utanför callMe () -funktionen.

Den callMe()funktionen i ovanstående kod accepterar inte något argument.

Funktionen returnerar inte heller något värde (returtyp är Unit).

Låt oss ta ett annat funktionsexempel. Denna funktion accepterar argument och returnerar också ett värde.

Exempel: Lägg till två nummer med hjälp av funktionen

 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ör programmet blir resultatet:

 resultat = 15

Hur fungerar funktioner med argument och returvärde?

Här skickas två argument nummer 1 och nummer 2 av typen Doubletill addNumbers()funktionen under funktionsanrop. Dessa argument kallas faktiska argument.

 resultat = addNumbers (nummer1, nummer2)

Parametrarna n1 och n2 accepterar de skickade argumenten (i funktionsdefinitionen). Dessa argument kallas formella argument (eller parametrar).

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" 

Detta är bara en kort introduktion till funktioner i Kotlin. Rekommenderade artiklar relaterade till funktioner:

  • Kotlin inline-funktioner
  • Kotlin infix-funktioner
  • Kotlins funktionsomfång
  • Kotlin standard- och namngivna argument
  • Kotlin Rekursion
  • Kotlin Tail Rekursiv funktion
  • Kotlin-förlängningsfunktion
  • Kotlin High-Order-funktioner & Lambdas

Intressanta artiklar...