ФУНКЦИИ В GO LANGUAGE

ФУНКЦИИ В GO LANGUAGE

Data science [ru]

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


Объявление функции

Объявление функции означает способ создания функции.

Синтаксис:

func function_name(Parameter-list)(Return_type){
    // function body.....
}

Объявление функции содержит:

  • func: это ключевое слово в языке Go, которое используется для создания функции.
  • имя_функции: это имя функции.
  • Список параметров: содержит имя и тип параметров функции.
  • Return_type: не является обязательным и содержит типы значений, которые возвращает функция. Если вы используете return_type в своей функции, тогда необходимо использовать оператор return в вашей функции.


Вызов функции

Вызов функции или вызов функции выполняется, когда пользователь хочет выполнить функцию. Функция должна быть вызвана для использования ее функциональности. Как показано в следующем примере, у нас есть функция с именем add () с двумя параметрами. Теперь мы вызываем эту функцию в основной функции, используя ее имя, т. Е. Область (12, 10) с двумя параметрами.

Пример:


// Перейти к программе, чтобы проиллюстрировать

// использование функции

package main

import "fmt"

  

// area () используется для поиска

// площадь прямоугольника

// функция area () двух параметров,

// т.е. длина и ширина

func area(length, width int)int{

      

    Ar := length* width

    return Ar

}

  

// Основная функция

func main() {

    

   // Отображаем площадь прямоугольника

   // с вызовом метода

   fmt.Printf("Area of rectangle is : %d", area(12, 10))

}

Выход:

Area of rectangle is : 120

Аргументы функции

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

Примечание. По умолчанию язык Go использует метод call by value для передачи аргументов в функцию.

Язык Go поддерживает два способа передачи аргументов вашей функции:

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


// Перейти к программе, чтобы проиллюстрировать

// концепция вызова по значению

package main

   

import "fmt"

   

// функция, которая меняет значения

func swap(a, b int)int{

  

    var o int

    o= a

    a=b

    b=o

     

   return 

}

   

// Основная функция

func main() {

 var p int = 10

 var q int = 20

  fmt.Printf("p = %d and q = %d", p, q)

   

 // вызов по значениям

 swap(p, q)

   fmt.Printf("\np = %d and q = %d",p, q)

}

Выход:

p = 10 and q = 20
p = 10 and q = 20

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


// Перейти к программе, чтобы проиллюстрировать

// концепция звонка по ссылке

package main

   

import "fmt"

   

// функция, которая меняет значения

func swap(a, b *int)int{

    var o int

    o = *a

    *a = *b

    *b = o      

   return 

}

   

// Основная функция

func main() {

  

 var p int = 10

 var q int = 20

 fmt.Printf("p = %d and q = %d", p, q)

   

 // вызов по ссылке

 swap(&p, &q)

   fmt.Printf("\np = %d and q = %d",p, q)

}

Выход:

p = 10 and q = 20
p = 20 and q = 10


Report Page