Latest web development tutorials

Перейти функции языка

Функция является основной блок кода для выполнения задачи.

Go язык, по крайней мере основной функции ().

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

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

Go язык стандартная библиотека предоставляет множество встроенных функций, которые можно использовать. Например, функция Len () может принимать различные типы аргументов и возвращает тип длины. Если мы проходим длина строки строки возвращается, если входящих номеров, функция возвращает номер, содержащийся в массиве.


определение функции

Go Функция языка определяется в следующем формате:

func function_name( [parameter list] ) [return_types] {
   函数体
}

Аналитическое определение функции:

  • FUNC: функция запускает заявление функционирова
  • function_name: имя функции, имя функции и список параметров в совокупности образуют функцию подписи.
  • Список параметров]: список параметров, параметр как заполнитель, когда функция вызывается, вы можете передать значение параметра, это значение называется фактические параметры. Список параметров определяет тип параметра, порядок и количество параметров. Параметр не является обязательным, эта функция не может содержать параметры.
  • return_types: тип возвращаемого значения, функция возвращает значение. return_types тип данных значения столбца. Некоторые функции не должны возвращать значение, в этом случае нет необходимости return_types.
  • Тело функции: Функция определенный набор кодов.

примеров

Следующие примеры являются не более () код функции, функция передается два целочисленных параметра num1 и num2, и возвращает максимальное значение этих двух параметров:

/* 函数返回两个数的最大值 */
func max(num1, num2 int) int {
   /* 声明局部变量 */
   var result int

   if (num1 > num2) {
      result = num1
   } else {
      result = num2
   }
   return result 
}

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

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

Вызов функции, передавая параметры функции и возвращать значения, например:

package main

import "fmt"

func main() {
   /* 定义局部变量 */
   var a int = 100
   var b int = 200
   var ret int

   /* 调用函数并返回最大值 */
   ret = max(a, b)

   fmt.Printf( "最大值是 : %d\n", ret )
}

/* 函数返回两个数的最大值 */
func max(num1, num2 int) int {
   /* 定义局部变量 */
   var result int

   if (num1 > num2) {
      result = num1
   } else {
      result = num2
   }
   return result 
}

Приведенные выше примеры заехать в основной функции () функция MAX (), результат:

最大值是 : 200

несколько значений функции возврата

Go функция может возвращать несколько значений, например:

package main

import "fmt"

func swap(x, y string) (string, string) {
   return y, x
}

func main() {
   a, b := swap("Mahesh", "Kumar")
   fmt.Println(a, b)
}

Приведенные выше примеры Реализация результатов:

Kumar Mahesh

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

Если параметры функции, переменная может называться параметром функции.

Параметры, определенные в локальных переменных функций в организме.

Вызов функции, вы можете передавать параметры двумя способами:

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

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


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

использование функции описание
Функции как значения После того, как функция определена как значение, чтобы использовать
Затворы Замыкания анонимные функции могут быть использованы в динамическом программировании
способ Метод является функцией, которая содержит получателя