Kotlin-funktio (esimerkin kanssa)

Sisällysluettelo

Tässä artikkelissa opit toiminnoista; mitkä toiminnot ovat, sen syntaksit ja miten luoda käyttäjätoiminto Kotlinissa.

Ohjelmoinnissa funktio on joukko toisiinsa liittyviä lauseita, jotka suorittavat tietyn tehtävän.

Toimintoja käytetään suuren ohjelman jakamiseen pienempiin ja modulaarisiin paloiksi. Esimerkiksi sinun on luotava ja väritettävä ympyrä käyttäjän syötteen perusteella. Voit luoda kaksi toimintoa tämän ongelman ratkaisemiseksi:

  • createCircle() Toiminto
  • colorCircle() Toiminto

Monimutkaisen ohjelman jakaminen pienempiin komponentteihin tekee ohjelmastamme entistä organisoidumman ja hallittavamman.

Lisäksi se välttää toistoa ja tekee koodin uudelleenkäytettäväksi.

Toimintotyypit

Toimintoja on kahden tyyppisiä riippuen siitä, onko käyttäjä määrittänyt toiminnon vai onko se käytettävissä vakiokirjastossa:

  • Kotlinin vakiokirjasto
  • Käyttäjän määrittelemät toiminnot

Kotlinin vakiokirjasto

Kirjaston vakiotoiminnot ovat Kotlinissa sisäänrakennettuja toimintoja, jotka ovat helposti käytettävissä. Esimerkiksi,

  • print() on kirjastotoiminto, joka tulostaa viestin vakiolähtövirtaan (näyttöön).
  • sqrt()palauttaa luvun neliöjuuren ( Doublearvo)
 fun main(args: Array) ( var number = 5.5 print("Result = $(Math.sqrt(number))") )

Kun suoritat ohjelmaa, tulos on:

 Tulos = 2.345207879911715

Tässä on linkki Kotlinin standardikirjastoon, jota voit tutkia.

Käyttäjän määrittelemät toiminnot

Kuten mainittiin, voit luoda toimintoja itse. Tällaisia ​​toimintoja kutsutaan käyttäjän määrittelemiksi toiminnoiksi.

Kuinka luoda käyttäjän määrittelemä toiminto Kotliniin?

Ennen kuin voit käyttää (kutsua) toimintoa, sinun on määritettävä se.

Näin voit määrittää toiminnon Kotlinissa:

 hauska callMe () (// toiminto body) 

Funktion määrittelemiseksi Kotlinissa funkäytetään avainsanaa. Sitten tulee funktion nimi (tunniste). Tässä funktion nimi on callMe.

Yllä olevassa ohjelmassa sulkeet ( )ovat tyhjät. Tämä tarkoittaa, että tämä toiminto ei hyväksy mitään argumentteja. Opit argumenteista myöhemmin tässä artikkelissa.

Kiharoiden aaltosulkeiden sisällä olevat koodit ( )ovat toiminnon runko.

Kuinka kutsua funktio?

Sinun on kutsuttava funktio ajaaksesi koodeja funktion rungossa. Näin:

 soita minulle()

Tämä lause kutsuu callMe()aiemmin ilmoitettua funktiota.

Esimerkki: Yksinkertainen toiminto-ohjelma

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

Kun suoritat ohjelmaa, tulos on:

Tulostus callMe () -toiminnosta. Tämä on siistiä (tulostetaan edelleen sisältä). Tulostus callMe () -toiminnon ulkopuolelta.

callMe()Toiminto edellä koodi ei hyväksy mitään väitettä.

Toiminto ei myöskään palauta arvoa (palautustyyppi on Unit).

Otetaan toinen toimintoesimerkki. Tämä funktio hyväksyy argumentit ja palauttaa myös arvon.

Esimerkki: Lisää kaksi numeroa funktion avulla

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

Kun suoritat ohjelmaa, tulos on:

 tulos = 15

Kuinka funktiot argumenteilla ja palautusarvolla toimivat?

Tässä kaksi argumenttia numero1 ja numero2 Doublelähetetään addNumbers()funktiolle funktion kutsun aikana. Näitä argumentteja kutsutaan todellisiksi argumenteiksi.

 tulos = addNumbers (numero1, luku2)

Parametrit n1 ja n2 hyväksyvät välitetyt argumentit (funktion määrittelyssä). Näitä argumentteja kutsutaan muodollisiksi argumenteiksi (tai parametreiksi).

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 (etunimi: String, sukunimi: String): String = "$ firstName $ lastName"

kanssa

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

Tämä on vain lyhyt esittely Kotlinin toiminnoista. Suositeltavia toimintoihin liittyviä artikkeleita:

  • Kotlinin sisäiset toiminnot
  • Kotlin-infix-toiminnot
  • Kotlin-toiminnon laajuus
  • Kotlinin oletusarvot ja nimetyt argumentit
  • Kotlin-rekursio
  • Kotlin Tail Rekursiivinen toiminto
  • Kotlin-laajennustoiminto
  • Kotlinin korkealaatuiset toiminnot ja lambdat

Mielenkiintoisia artikkeleita...