Funcția Kotlin (cu exemplu)

În acest articol, veți afla despre funcții; ce funcții sunt, sintaxa acesteia și cum se creează o funcție de utilizator în Kotlin.

În programare, funcția este un grup de afirmații conexe care efectuează o sarcină specifică.

Funcțiile sunt folosite pentru a împărți un program mare în bucăți mai mici și modulare. De exemplu, trebuie să creați și să colorați un cerc pe baza datelor introduse de utilizator. Puteți crea două funcții pentru a rezolva această problemă:

  • createCircle() Funcţie
  • colorCircle() Funcţie

Împărțirea unui program complex în componente mai mici face ca programul nostru să fie mai organizat și mai ușor de gestionat.

În plus, evită repetarea și face codul reutilizabil.

Tipuri de funcții

În funcție de faptul dacă o funcție este definită de utilizator sau disponibilă în biblioteca standard, există două tipuri de funcții:

  • Funcția de bibliotecă standard Kotlin
  • Funcții definite de utilizator

Funcția de bibliotecă standard Kotlin

Funcțiile standard ale bibliotecii sunt funcții încorporate în Kotlin, care sunt ușor disponibile pentru utilizare. De exemplu,

  • print() este o funcție de bibliotecă care tipărește mesajul pe fluxul de ieșire standard (monitor).
  • sqrt()returnează rădăcina pătrată a unui număr ( Doublevaloare)
 fun main(args: Array) ( var number = 5.5 print("Result = $(Math.sqrt(number))") )

Când rulați programul, ieșirea va fi:

 Rezultat = 2.345207879911715

Iată un link către Biblioteca standard Kotlin pentru a fi explorat.

Funcții definite de utilizator

După cum am menționat, puteți crea funcții dvs. Astfel de funcții se numesc funcții definite de utilizator.

Cum se creează o funcție definită de utilizator în Kotlin?

Înainte de a putea utiliza (apela) o funcție, trebuie să o definiți.

Iată cum puteți defini o funcție în Kotlin:

 fun callMe () (// corpul funcției) 

Pentru a defini o funcție în Kotlin, funse folosește cuvânt cheie. Apoi vine numele funcției (identificator). Aici, numele funcției este callMe.

În programul de mai sus, parantezele ( )sunt goale. Înseamnă că această funcție nu acceptă niciun argument. Veți afla despre argumente mai târziu în acest articol.

Codurile din interiorul acoladelor ( )sunt corpul funcției.

Cum să apelați o funcție?

Trebuie să apelați funcția pentru a rula coduri în corpul funcției. Iată cum:

 sună-mă()

Această declarație apelează callMe()funcția declarată anterior.

Exemplu: Program de funcții simple

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

Când rulați programul, ieșirea va fi:

Imprimarea din funcția callMe (). Acest lucru este grozav (se imprimă încă din interior). Tipărirea în exterior din funcția callMe ().

callMe()În codul de mai sus nu acceptă nici un argument.

De asemenea, funcția nu returnează nicio valoare (tipul de returnare este Unit).

Să luăm un alt exemplu de funcție. Această funcție acceptă argumente și, de asemenea, returnează o valoare.

Exemplu: Adăugați două numere folosind funcția

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

Când rulați programul, ieșirea va fi:

 rezultat = 15

Cum funcționează funcțiile cu argumente și valoarea returnată?

Aici, două argumente number1 și number2 de tip Doublesunt transmise addNumbers()funcției în timpul apelului de funcție. Aceste argumente se numesc argumente reale.

 result = addNumbers (număr1, număr2)

Parametrii n1 și n2 acceptă argumentele trecute (în definiția funcției). Aceste argumente se numesc argumente formale (sau 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

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

cu

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

Aceasta este doar scurta introducere a funcțiilor în Kotlin. Articole recomandate legate de funcții:

  • Funcții în linie Kotlin
  • Funcții Kotlin infix
  • Domeniul funcției Kotlin
  • Argumente implicite și numite Kotlin
  • Recursiunea Kotlin
  • Funcția recursivă Kotlin Tail
  • Funcția de extensie Kotlin
  • Funcții de înaltă comandă Kotlin și Lambdas

Articole interesante...