Ir Funções idioma
Função é o bloco básico de código para a realização de uma tarefa.
Siga pelo menos uma função main () da linguagem.
Você pode dividir as diferentes funções através da lógica de função para executar cada função é especificado tarefa.
declaração de função informa o nome do compilador função, tipo de retorno e parâmetros.
Ir linguagem biblioteca padrão fornece uma variedade de funções embutidas pode usar. Por exemplo, a função len () pode aceitar diferentes tipos de argumentos e retorna o tipo de comprimento. Se passarmos um comprimento da corda é devolvido, se os números de entrada, a função retorna o número contido na matriz.
definição de função
Ir função da linguagem é definido no seguinte formato:
func function_name( [parameter list] ) [return_types] { 函数体 }
definição de função analítica:
- func: função inicia uma declaração do func
- function_name: nome da função, nome da função e lista de parâmetros em conjunto, constituem a assinatura de função.
- lista de parâmetros]: lista de parâmetros, o parâmetro como um espaço reservado, quando a função é chamada, você pode passar um valor para o parâmetro, esse valor é chamado os parâmetros reais. lista de parâmetro especifica o tipo de parâmetro, ordem e número de parâmetros. Parâmetro é opcional, essa função não pode conter parâmetros.
- return_types: tipo de retorno, a função retorna um valor. return_types é o tipo de dados do valor da coluna. Algumas funções não precisa retornar um valor, caso em que não return_types necessário.
- Corpo da função: A função definida conjunto de códigos.
Exemplos
Os exemplos seguintes são max () código de função, a função passada duas inteiro parâmetros num1 e num2, e retorna o valor máximo destes dois parâmetros:
/* 函数返回两个数的最大值 */ func max(num1, num2 int) int { /* 声明局部变量 */ var result int if (num1 > num2) { result = num1 } else { result = num2 } return result }
chamada de função
Quando você cria uma função, você define uma função do que precisa ser feito para executar as tarefas atribuídas ao chamar a função de mudança.
Chamar a função, passando os parâmetros de função e retornar valores, por exemplo:
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 }
Os exemplos acima chamar na função main () função max (), o resultado é:
最大值是 : 200
Os valores múltiplos de retorno de função
Vá função pode retornar vários valores, por exemplo:
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) }
A exemplos de implementação acima dos resultados:
Kumar Mahesh
Argumentos da função
Se os parâmetros da função, a variável pode ser encaminhado para o parâmetro função.
Parâmetros definidos nas funções de variáveis locais no corpo.
Chamar a função, você pode passar parâmetros de duas maneiras:
tipo de parto | descrição |
---|---|
transferência de valores | Valor é passado ao chamar a função refere-se aos parâmetros reais passados para a função de cópia, de modo que se os parâmetros da função pode ser modificado, não afetará os parâmetros reais. |
Passados por referência | Passagem por referência refere-se ao chamar a função passa o endereço do parâmetro real para a função, então a função para modificar os parâmetros realizados, irá afectar os parâmetros reais. |
Por padrão, a linguagem Go é passado por valor, ou seja, durante a chamada não vai afetar os parâmetros reais.
utilização da função
utilização da função | descrição |
---|---|
Funções como valores | Depois a função é definida como um valor de usar |
Closures | Encerramentos são funções anônimas podem ser usados em programação dinâmica |
caminho | O método é uma função que contém o destinatário |