Перейти функции языка
Функция является основной блок кода для выполнения задачи.
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 язык передается по значению, то есть, во время разговора не будет влиять на фактические параметры.
использование функции
использование функции | описание |
---|---|
Функции как значения | После того, как функция определена как значение, чтобы использовать |
Затворы | Замыкания анонимные функции могут быть использованы в динамическом программировании |
способ | Метод является функцией, которая содержит получателя |