English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
No Golang, os parâmetros de retorno nomeados são frequentemente chamados de parâmetros nomeados. O Golang permite especificar nomes para os parâmetros de retorno ou resultados de uma função na assinatura ou definição da função. Ou seja, é o nome explícito das variáveis de retorno na definição da função. Basicamente, ele resolve a necessidade de mencionar o nome da variável no comando return.
Usando parâmetros de retorno nomeados ou parâmetros nomeados, o comando return pode ser usado apenas no final da função para retornar os resultados ao chamador. Quando a função deve retornar vários valores, este conceito é geralmente usado.
Portanto, para tornar o usuário mais confortável e melhorar a legibilidade do código, o Golang fornece essa funcionalidade.
Para declarar um parâmetro de resultado ou parâmetro de retorno nomeado, use apenas a parte do tipo de retorno da assinatura da função. A seguir está a sintaxe geral para declarar funções no Golang.
A sintaxe para declarar uma função sem parâmetros de retorno nomeados:
func função_name(Parâmetro-list)(Return_type){ // corpo da função..... }
Aqui, Return_Type é opcional e contém o tipo do valor retornado pela função. Se Return_Type for usado na função, deve ser usado a instrução return na função.
A sintaxe para declarar uma função com parâmetros de retorno nomeados:
func função_name(Parâmetro-list)(result_parameter1 data__type,result_parameter2 data_type,…。){ //corpo da função….. //retorna }
este(result_parameter1 data__type, result_parameter2 data_type, ....) é a lista de parâmetros de retorno nomeados e seus tipos. Você pode declarar n parâmetros de retorno nomeados.
Exemplo:Na linha de código func calculator(a, b int) (mul int, div int) abaixo do programa, contém parâmetros de retorno nomeados. A instrução de retorno no final da função não contém nenhum parâmetro. O compilador Go retornará automaticamente os parâmetros.
package main import "fmt" // Método principal func main() { //Aqui é chamada a função //A função retorna dois valores m, d := calculator(105, 7) fmt.Println("105 x 7 = ", m) fmt.Println("105 / 7 = ", d) } // Função com parâmetros nomeados func calculator(a, b int) (mul int, div int) { //Aqui, a atribuição simples pode ser usada //e inicializar seu valor mul = a * b div = a / b //Aqui está a palavra-chave return //Nenhum parâmetro de resultado return }
Saída:
105 x 7 = 735 105 / 7 = 15
Se todos os tipos de dados dos parâmetros de retorno nomeados forem públicos ou idênticos, pode-se especificar o tipo de dados público. Compare o código a seguir com o exemplo lido anteriormente para melhor compreensão.
//Função com parâmetros nomeados func calculator(a, b int) (mul, div int) {
Aqui,muledivAs variáveis são do tipo int. Portanto, você também pode declarar parâmetros nomeados com tipos de dados genéricos, por exemplo, variáveis de função (ou sejaaeb)
O uso de parâmetros de retorno nomeados melhorará a legibilidade do código, pois é possível saber os parâmetros de retorno apenas lendo a assinatura da função.
Após o uso de parâmetros de retorno nomeados, a instrução de retorno geralmente é chamada de"Retorno nudo".
Por padrão, o Golang define todos os variáveis nomeadas com valores nulos, a função pode usá-las. Se a função não modificar o valor, ele será retornado automaticamente com o valor nulo.
Se você usarOperador de declaração curta (:=)Se inicializar parâmetros de retorno nomeados, será fornecido um erro, pois eles já foram inicializados pelo compilador Go. Portanto, você pode usar atribuição simples (=) para atribuir valores aos parâmetros de retorno nomeados.
//Função com parâmetros nomeados func calculator(a, b int) (mul int, div int) { //Aqui, ele lançará um erro //Porque os parâmetros já foram definidos //Na assinatura da função mul := a * b div := a / b //Aqui está a palavra-chave return //Nenhum parâmetro de resultado return }
Parâmetros de retorno nomeados ou instruções de retorno nuda são aplicáveis apenas a assinaturas de função curtas. Para funções mais longas, é recomendável retornar explicitamente os parâmetros de resultado (sem usar parâmetros de retorno nomeados) para manter a legibilidade do código.
Para parâmetros de retorno nomeados, deve-se usar a instrução de retorno "nuda" (return).
Conhecimentos relevantes:Função no Golang