Kotlinova funkcija (s primerom)

V tem članku boste izvedeli več o funkcijah; kaj so funkcije, njegova sintaksa in kako v Kotlinu ustvariti uporabniško funkcijo.

Pri programiranju je funkcija skupina povezanih stavkov, ki izvajajo določeno nalogo.

Funkcije se uporabljajo za razdelitev velikega programa na manjše in modularne koščke. Na primer, na podlagi uporabnikovega vnosa morate ustvariti in obarvati krog. Za rešitev te težave lahko ustvarite dve funkciji:

  • createCircle() Funkcija
  • colorCircle() Funkcija

Če delimo zapleten program na manjše komponente, je naš program bolj organiziran in vodljiv.

Poleg tega se izogiba ponavljanju in omogoča ponovno uporabo kode.

Vrste funkcij

Glede na to, ali funkcijo določi uporabnik ali je na voljo v standardni knjižnici, obstajata dve vrsti funkcij:

  • Funkcija standardne knjižnice Kotlin
  • Uporabniško določene funkcije

Funkcija standardne knjižnice Kotlin

Standardne funkcije knjižnice so v Kotlinu vgrajene funkcije, ki so na voljo za uporabo. Na primer

  • print() je funkcija knjižnice, ki natisne sporočilo v standardni izhodni tok (monitor).
  • sqrt()vrne kvadratni koren števila ( Doublevrednosti)
 fun main(args: Array) ( var number = 5.5 print("Result = $(Math.sqrt(number))") )

Ko zaženete program, bo rezultat:

 Rezultat = 2.345207879911715

Tukaj je povezava do standardne knjižnice Kotlin, ki jo lahko raziščete.

Uporabniško določene funkcije

Kot smo že omenili, lahko funkcije ustvarite sami. Takšne funkcije se imenujejo uporabniško določene funkcije.

Kako v Kotlinu ustvariti uporabniško določeno funkcijo?

Preden lahko funkcijo uporabite (pokličete), jo morate definirati.

Evo, kako lahko v Kotlinu definirate funkcijo:

 fun callMe () (// telo funkcije) 

Za definiranje funkcije v Kotlinu funse uporablja ključna beseda. Nato pride ime funkcije (identifikator). Tu je ime funkcije callMe.

V zgornjem programu je oklepaj ( )prazna. To pomeni, da ta funkcija ne sprejema nobenega argumenta. O argumentih boste izvedeli kasneje v tem članku.

Kode znotraj zavitih oklepajev ( )so telo funkcije.

Kako poklicati funkcijo?

Funkcijo morate poklicati, da zažene kode znotraj telesa funkcije. Takole:

 pokliči me()

Ta stavek pokliče callMe()funkcijo, ki je bila prej deklarirana.

Primer: program s preprosto funkcijo

 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.") )

Ko zaženete program, bo rezultat:

Tiskanje iz funkcije callMe (). To je kul (še vedno tiskate od znotraj). Tiskanje zunaj iz funkcije callMe ().

callMe()Funkcija v zgornjo kodo ne sprejme nobenega argumenta.

Funkcija tudi ne vrne nobene vrednosti (vrsta vrnitve je Unit).

Vzemimo drug primer funkcije. Ta funkcija sprejme argumente in vrne tudi vrednost.

Primer: z uporabo funkcije dodajte dve številki

 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") )

Ko zaženete program, bo rezultat:

 rezultat = 15

Kako delujejo funkcije z argumenti in vrnjeno vrednostjo?

Tu Doublese addNumbers()funkciji med klicem funkcije preneseta dva argumenta tipa1 in številka2 . Ti argumenti se imenujejo dejanski argumenti.

 rezultat = addNumbers (število1, število2)

Parametra n1 in n2 sprejmeta posredovane argumente (v definiciji funkcije). Ti argumenti se imenujejo formalni argumenti (ali parametri).

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

 zabavno getName (firstName: String, lastName: String): String = "$ firstName $ lastName"

s

 fun getName (firstName: String, lastName: String) = "$ firstName $ lastName" 

To je le kratek uvod v funkcije v Kotlinu. Priporočeni članki, povezani s funkcijami:

  • Kotline vgrajene funkcije
  • Kotlin infix funkcije
  • Kotlin obseg funkcije
  • Kotlinovi privzeti in imenovani argumenti
  • Kotlinska rekurzija
  • Kotlinov rep Rekurzivna funkcija
  • Kotlinova razširitvena funkcija
  • Kotlinske funkcije visokega reda in lambda

Zanimive Članki...