Котлин функција (са примером)

Преглед садржаја

У овом чланку ћете сазнати више о функцијама; које су функције, његова синтакса и како створити корисничку функцију у Котлину.

У програмирању, функција је група повезаних изјава које извршавају одређени задатак.

Функције се користе за разбијање великог програма на мање и модуларне делове. На пример, треба да направите и обојите круг на основу уноса корисника. Да бисте решили овај проблем, можете створити две функције:

  • createCircle() Функција
  • colorCircle() Функција

Дељењем сложеног програма на мање компоненте чини наш програм организованијим и управљивијим.

Поред тога, избегава понављање и чини код вишекратним.

Врсте функција

У зависности од тога да ли је функцију корисник дефинисао или је доступна у стандардној библиотеци, постоје две врсте функција:

  • Котлин стандардна библиотечка функција
  • Кориснички дефинисане функције

Котлин стандардна библиотечка функција

Стандардне функције библиотеке су уграђене функције у Котлину које су лако доступне за употребу. На пример,

  • print() је функција библиотеке која исписује поруку у стандардни излазни ток (монитор).
  • sqrt()враћа квадратни корен броја ( Doubleвредности)
 fun main(args: Array) ( var number = 5.5 print("Result = $(Math.sqrt(number))") )

Када покренете програм, излаз ће бити:

 Резултат = 2.345207879911715

Ево везе до Котлин стандардне библиотеке коју можете да истражите.

Кориснички дефинисане функције

Као што је поменуто, можете сами креирати функције. Такве функције називају се кориснички дефинисане функције.

Како створити кориснички дефинисану функцију у Котлину?

Да бисте могли да користите (позовете) функцију, морате је дефинисати.

Ево како можете да дефинишете функцију у Котлину:

 фун цаллМе () (// тело функције) 

За дефинисање функције у Котлину funкористи се кључна реч. Затим долази име функције (идентификатор). Овде је име функције цаллМе.

У горњем програму заграде ( )су празне. Значи, ова функција не прихвата ниједан аргумент. О аргументима ћете сазнати касније у овом чланку.

Код унутар завојних заграда ( )је тело функције.

Како позвати функцију?

Морате позвати функцију да покреће кодове унутар тела функције. Ево како:

 Позови ме()

Ова изјава позива callMe()функцију која је раније декларисана.

Пример: Програм једноставне функције

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

Када покренете програм, излаз ће бити:

Штампање из функције цаллМе (). Ово је супер (и даље се штампа изнутра). Штампање споља из функције цаллМе ().

callMe()Функција у горе код не прихвата ниједан аргумент.

Такође, функција не враћа ниједну вредност (тип поврата је Unit).

Узмимо још један пример функције. Ова функција ће прихватити аргументе и такође враћа вредност.

Пример: Додајте два броја помоћу функције

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

Када покренете програм, излаз ће бити:

 резултат = 15

Како функционишу функције са аргументима и повратном вредношћу?

Овде се два аргумента типа1 и број2 Doubleпреносе addNumbers()функцији током позива функције. Ови аргументи се називају стварним аргументима.

 резултат = додајБројеви (број1, број2)

Параметри н1 и н2 прихватају прослеђене аргументе (у дефиницији функције). Ови аргументи се називају формални аргументи (или параметри).

У Котлину се аргументи раздвајају зарезима. Такође, врста формалног аргумента мора бити експлицитно откуцана.

Имајте на уму да би се тип података стварних и формалних аргумената требао подударати, тј. Тип података првог стварног аргумента треба да се подудара са типом првог формалног аргумента. Слично томе, тип другог стварног аргумента мора се подударати са типом другог формалног аргумента и тако даље.

Ево,

 ретурн сумИнтегер

је повратна изјава. Овај код прекида addNumbers()функцију, а контрола програма прелази на main()функцију.

У програму се сумИнтегер враћа из addNumbers()функције. Ова вредност се додељује променљивој резултат.

Објава,

  • и сумИнтегер и резултат су типа Int.
  • тип повратка функције наведен је у дефиницији функције.
     // 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

 забава гетНаме (фирстНаме: Стринг, ластНаме: Стринг): Стринг = "$ фирстНаме $ ластНаме"

са

 фун гетНаме (фирстНаме: Стринг, ластНаме: Стринг) = "$ фирстНаме $ ластНаме" 

Ово је само кратки увод у функције у Котлину. Препоручени чланци у вези са функцијама:

  • Котлин инлине функције
  • Котлин инфик функције
  • Котлин функција опсега
  • Котлин подразумевани и именовани аргументи
  • Котлин Рецурсион
  • Котлин Таил Рекурзивна функција
  • Котлин Ектенсион Фунцтион
  • Котлин функције високог реда и ламбдас

Занимљиви Чланци...