Котлин функции

Котлин функции

#Kotlin


Функция — это блок кода, который выполняет специальную задачу. В программировании функция используется для разбиения кода на более мелкие модули, что делает программу более управляемой.


Например: если нам нужно вычислить сумму двух чисел, определите забавную sum() .

fun sum(a: Int, b: Int): Int {
    return a + b
}

Мы можем вызвать sum(x, y) любое количество раз, и она вернет сумму двух чисел. Таким образом, функция избегает повторения кода и делает код более пригодным для повторного использования.

В Котлине есть два типа функций:

  • Стандартная библиотечная функция
  • Пользовательская функция

Стандартная библиотека Kotlin —

В Kotlin есть различное количество встроенных функций, уже определенных в стандартной библиотеке и доступных для использования. Мы можем вызвать их, передав аргументы согласно требованию.

В программе ниже мы будем использовать встроенные функции и. Функция требует несколько аргументов, таких как целые числа, двойные и т. Д., Для создания массива, и мы можем найти сумму всех элементов, которые не требуют никаких аргументов.


fun main(args: Array<String>) {

    var sum = arrayOf(1,2,3,4,5,6,7,8,9,10).sum()

  

    println("The sum of all the elements of an array is: $sum")

}

Выход:

The sum of all the elements of an array is: 55

В приведенной ниже программе мы будем использовать rem (), чтобы найти остаток.


fun main(args: Array<String>) {

    var num1 = 26

    var num2 = 3

  

    var result = num1.rem(num2)

    println("The remainder when $num1 is divided by $num2 is: $result")

}

Выход:

The remainder when 26 is divided by 3 is: 2

Список различных стандартных функций библиотеки и их использование —

  • sqrt () — используется для вычисления квадратного корня числа.
  • print () — Используется для печати сообщения в стандартный вывод.
  • rem () — найти остаток от одного числа при делении на другое.
  • toInt () — Преобразовать число в целочисленное значение.
  • readline () — используется для стандартного ввода.
  • compareTo () — сравнить два числа и вернуть логическое значение.

Пользовательская функция Kotlin —

Функция, которая определяется пользователем, называется пользовательской функцией. Как мы знаем, чтобы разделить большую программу на маленькие модули, нам нужно определить функцию. Каждая определенная функция имеет свои собственные свойства, такие как имя функции, тип возвращаемой функции, количество параметров, переданных в функцию и т. Д.

Создание пользовательской функции-

В Kotlin функция может быть объявлена сверху, и нет необходимости создавать класс для хранения функции, что мы привыкли делать в других языках, таких как Java или Scala.

Обычно мы определяем функцию как:

fun fun_name(a: data_type, b: data_type, ......): return_type  {
    // other codes
    return
}
  • fun — ключевое слово для определения функции.
  • fun_name — имя функции, которая позже использовалась для вызова функции.
  • a: data_type — Здесь a — передаваемый аргумент, а data_type указывает тип данных аргумента, например, целое число или строка.
  • return_type — указывает тип значения данных, возвращаемых функцией.
  • {….} — фигурные скобки представляют блок функции.

Функция Котлина mul() для умножения двух чисел с параметрами одного типа:


fun mul(num1: Int, num2: Int): Int {

    var number = num1.times(num2)

    return number

}

Объяснение: Мы определили функцию выше, начиная с ключевого слова fun , тип возвращаемого значения — Integer.

>> mul() is the name of the function
>> num1 and num2 are names of the parameters being accepted by the function
  and both are Integer type.

Функция student() Kotlin student() имеющая различные типы параметров


fun student(name: String , roll_no: Int , grade: Char) {

    println("Name of the student is : $name")

    println("Roll no of the student is: $roll_no")

    println("Grade of the student is: $grade")

}

Пояснение — мы определили функцию с помощью забавного ключевого слова, тип возвращаемого значения в модуле по умолчанию.

>> student is the name of the function.
>> name is the parameter of String data type.
>> roll_no is the parameter of Integer data type
>> grade is the parameter of Character data type

Вызов определенной пользователем функции

Мы создаем функцию для назначения конкретной задачи. Всякий раз, когда вызывается функция, программа покидает текущий раздел кода и начинает выполнять функцию.

Контроль потока функции

  1. Программа доходит до строки, содержащей вызов функции.
  2. Когда функция вызывается, управление переходит к этой функции.
  3. Выполняет все инструкции функции один за другим.
  4. Управление передается обратно только тогда, когда функция достигает закрывающих фигурных скобок или есть какой-либо оператор возврата.
  5. Любые данные, возвращаемые функцией, используются вместо функции в исходной строке кода.

Программа Kotlin для вызова функции mul() путем передачи двух аргументов:


fun mul(a: Int, b: Int): Int {

    var number = a.times(b)

    return number

}

fun main(args: Array<String>) {

    var result = mul(3,5)

    println("The multiplication of two numbers is: $result")

}

Выход:

The multiplication of two numbers is: 15 

Explanation-

В приведенной выше программе мы вызываем функцию mul(3, 5) , передавая два аргумента. При вызове функции управление переходит к функции mul() и начинает выполнение операторов в блоке. Используя встроенную функцию times (), она вычисляет кратное двух чисел и сохраняет переменное число. Затем он выходит из функции с возвращением целочисленного значения и передает управление обратно в main() где он вызывает mul() . Затем мы сохраняем значение, возвращаемое функцией, в переменную результата переменной и println() выводит его на стандартный вывод.

Программа Kotlin для вызова функции student () путем передачи всех аргументов


fun student( name: String , grade: Char , roll_no: Int) {

    println("Name of the student is : $name")

    println("Grade of the student is: $grade")

    println("Roll no of the student is: $roll_no")

  

}

fun main(args: Array<String>) {

    val name = "Praveen"

    val rollno = 25

    val grade = 'A'

    student(name,grade,rollno)

    student("Gaurav",'B',30)

}

Выход:

Name of the student is : Praveen
Grade of the student is: A
Roll no of the student is: 25
Name of the student is : Gaurav
Grade of the student is: B
Roll no of the student is: 30

Explanation-

В приведенной выше программе мы вызываем функцию student() , передавая аргументы в том же порядке, что и требуется. Если мы попытаемся перемешать аргументы, это приведет к ошибке несоответствия типов. В первом вызове мы передаем аргумент с использованием переменных, а во втором вызове передаем значения аргументов без сохранения в переменных. Итак, оба метода правильны для вызова функции.


Report Page