Kotlin-funksjon (med eksempel)

Innholdsfortegnelse

I denne artikkelen vil du lære om funksjoner; hvilke funksjoner som er, syntaksen og hvordan du oppretter en brukerfunksjon i Kotlin.

I programmering er funksjon en gruppe relaterte utsagn som utfører en bestemt oppgave.

Funksjoner brukes til å dele et stort program i mindre og modulære biter. For eksempel må du opprette og farge en sirkel basert på input fra brukeren. Du kan opprette to funksjoner for å løse dette problemet:

  • createCircle() Funksjon
  • colorCircle() Funksjon

Å dele et komplekst program i mindre komponenter gjør programmet vårt mer organisert og håndterbart.

Videre unngår det repetisjon og gjør koden gjenbrukbar.

Typer funksjoner

Avhengig av om en funksjon er definert av brukeren, eller er tilgjengelig i standardbiblioteket, er det to typer funksjoner:

  • Kotlin Standard Library-funksjon
  • Brukerdefinerte funksjoner

Kotlin Standard Library-funksjon

Standardbiblioteksfunksjonene er innebygde funksjoner i Kotlin som er lett tilgjengelige for bruk. For eksempel,

  • print() er en biblioteksfunksjon som skriver ut melding til standard utgangsstrøm (skjerm).
  • sqrt()returnerer kvadratrot av et tall ( Doubleverdi)
 fun main(args: Array) ( var number = 5.5 print("Result = $(Math.sqrt(number))") )

Når du kjører programmet, vil utdataene være:

 Resultat = 2.345207879911715

Her er en lenke til Kotlin Standard Library som du kan utforske.

Brukerdefinerte funksjoner

Som nevnt kan du lage funksjoner selv. Slike funksjoner kalles brukerdefinerte funksjoner.

Hvordan lage en brukerdefinert funksjon i Kotlin?

Før du kan bruke (ringe) en funksjon, må du definere den.

Slik kan du definere en funksjon i Kotlin:

 fun callMe () (// funksjonslegeme) 

For å definere en funksjon i Kotlin, brukes funnøkkelord. Så kommer navnet på funksjonen (identifikator). Her er navnet på funksjonen callMe.

I programmet ovenfor er parentesen ( )tom. Det betyr at denne funksjonen ikke godtar noen argumenter. Du vil lære om argumenter senere i denne artikkelen.

Kodene i krøllete bukseseler ( )er funksjonen.

Hvordan ringe en funksjon?

Du må ringe funksjonen for å kjøre koder inne i funksjonen. Dette er hvordan:

 ring meg()

Denne uttalelsen kaller callMe()funksjonen deklarert tidligere.

Eksempel: Enkelt funksjonsprogram

 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 kjører programmet, vil utdataene være:

Skrive ut fra callMe () -funksjonen. Dette er kult (skriver fortsatt ut fra innsiden). Skrive ut utenfor callMe () -funksjonen.

Den callMe()funksjon i koden ovenfor godtar ikke noe argument.

Funksjonen returnerer heller ingen verdi (returtype er Unit).

La oss ta et annet funksjonseksempel. Denne funksjonen godtar argumenter og returnerer også en verdi.

Eksempel: Legg til to tall ved hjelp av funksjonen

 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 kjører programmet, vil utdataene være:

 resultat = 15

Hvordan fungerer funksjoner med argumenter og returverdi?

Her blir to argumenter nummer 1 og nummer 2 av typen Doubleoverført til addNumbers()funksjonen under funksjonsanrop. Disse argumentene kalles faktiske argumenter.

 resultat = addNumbers (nummer1, nummer2)

Parametrene n1 og n2 aksepterer de passerte argumentene (i funksjonsdefinisjonen). Disse argumentene kalles formelle argumenter (eller parametere).

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 bare den korte introduksjonen til funksjoner i Kotlin. Anbefalte artikler relatert til funksjoner:

  • Kotlin innebygde funksjoner
  • Kotlin infix-funksjoner
  • Kotlin funksjonsomfang
  • Kotlin standard- og navngitte argumenter
  • Kotlin rekursjon
  • Kotlin Tail Rekursiv funksjon
  • Kotlin-utvidelsesfunksjon
  • Kotlin High-Order Funksjoner og Lambdas

Interessante artikler...