Valores de Retorno de Funções
A capacidade de passar dados para funções é valiosa, mas é igualmente vantajoso recuperar dados das funções. É nesse contexto que a palavra-chave return se torna essencial.
A palavra-chave return permite que funções enviem dados de volta ao ponto do código onde foram invocadas. Veja a sintaxe para uma função com uma instrução return:
func functionName(param_1 datatype, param_2 datatype, ...) return_datatype {
// Code
return data_to_be_returned
}
O data_to_be_returned é onde especificamos uma expressão ou um valor. O returned_datatype representa o tipo de dado esperado para o valor que será retornado. Isso ficará mais claro por meio de um exemplo.
O programa a seguir ilustra a implementação de uma instrução return por meio de uma função que calcula e retorna tanto a soma quanto o produto de dois argumentos inteiros fornecidos:
index.go
1234567891011121314package main import "fmt" func myFunc(value_1 int, value_2 int) int { var sum int = value_1 + value_2 var prod int = value_1 * value_2 var result int = sum + prod return result } func main() { fmt.Println(myFunc(5, 7)) }
Observe que dentro da função Println, temos myFunc(5, 7), e o programa acima produz a saída 47, que resulta dos cálculos realizados pela função myFunc(). Isso demonstra que a instrução return transmite dados específicos de volta ao local onde a função foi chamada. Além disso, é possível armazenar os dados retornados em uma variável:
index.go
12var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'
Nota
Uma função não exige parâmetros para incluir uma instrução
return.
Uma função não pode conter nenhum código após uma instrução return e, normalmente, o Go não permite múltiplas instruções return:
index.go
1234567891011// Function exits after the first return statement it encounters func exampleOne() int { return 1 return 2 // Will be ignored } // There cannot be any code after a return statement func exampleTwo() int { return 1 fmt.Println() // Error here }
No entanto, é possível empregar a instrução return dentro de estruturas condicionais para retornar valores seletivamente:
index.go
123456789101112131415package main import "fmt" func myFunc() string { if(1 > 2) { return "1 is greater than 2" } else { return "2 is greater than 1" } } func main() { fmt.Println(myFunc()) }
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 1.96
Valores de Retorno de Funções
Deslize para mostrar o menu
A capacidade de passar dados para funções é valiosa, mas é igualmente vantajoso recuperar dados das funções. É nesse contexto que a palavra-chave return se torna essencial.
A palavra-chave return permite que funções enviem dados de volta ao ponto do código onde foram invocadas. Veja a sintaxe para uma função com uma instrução return:
func functionName(param_1 datatype, param_2 datatype, ...) return_datatype {
// Code
return data_to_be_returned
}
O data_to_be_returned é onde especificamos uma expressão ou um valor. O returned_datatype representa o tipo de dado esperado para o valor que será retornado. Isso ficará mais claro por meio de um exemplo.
O programa a seguir ilustra a implementação de uma instrução return por meio de uma função que calcula e retorna tanto a soma quanto o produto de dois argumentos inteiros fornecidos:
index.go
1234567891011121314package main import "fmt" func myFunc(value_1 int, value_2 int) int { var sum int = value_1 + value_2 var prod int = value_1 * value_2 var result int = sum + prod return result } func main() { fmt.Println(myFunc(5, 7)) }
Observe que dentro da função Println, temos myFunc(5, 7), e o programa acima produz a saída 47, que resulta dos cálculos realizados pela função myFunc(). Isso demonstra que a instrução return transmite dados específicos de volta ao local onde a função foi chamada. Além disso, é possível armazenar os dados retornados em uma variável:
index.go
12var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'
Nota
Uma função não exige parâmetros para incluir uma instrução
return.
Uma função não pode conter nenhum código após uma instrução return e, normalmente, o Go não permite múltiplas instruções return:
index.go
1234567891011// Function exits after the first return statement it encounters func exampleOne() int { return 1 return 2 // Will be ignored } // There cannot be any code after a return statement func exampleTwo() int { return 1 fmt.Println() // Error here }
No entanto, é possível empregar a instrução return dentro de estruturas condicionais para retornar valores seletivamente:
index.go
123456789101112131415package main import "fmt" func myFunc() string { if(1 > 2) { return "1 is greater than 2" } else { return "2 is greater than 1" } } func main() { fmt.Println(myFunc()) }
Obrigado pelo seu feedback!