Valores Retornados pelas Funções
Ser capaz de passar dados para funções é valioso, mas é igualmente vantajoso recuperar dados delas. É aqui 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. Aqui está a sintaxe para uma função com uma instrução return
:
func nomeDaFuncao(param_1 tipodedado, param_2 tipodedado, ...) tipodedadoretornado {
// Código
return dado_a_ser_retornado
}
O dado_a_ser_retornado
é onde especificamos uma expressão ou um valor. O tipodedadoretornado
representa o tipo de dado antecipado para o valor que será retornado. Isso ficará mais claro através 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 dados:
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 gera 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 invocada. Além disso, podemos 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 requer parâmetros para incluir uma instrução
return
.
Uma função não pode conter nenhum código após uma instrução de retorno, e tipicamente, Go não permite múltiplas instruções de retorno:
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 utilizar a instrução return
dentro de estruturas condicionais para retornar valores de forma seletiva:
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 Retornados pelas Funções
Deslize para mostrar o menu
Ser capaz de passar dados para funções é valioso, mas é igualmente vantajoso recuperar dados delas. É aqui 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. Aqui está a sintaxe para uma função com uma instrução return
:
func nomeDaFuncao(param_1 tipodedado, param_2 tipodedado, ...) tipodedadoretornado {
// Código
return dado_a_ser_retornado
}
O dado_a_ser_retornado
é onde especificamos uma expressão ou um valor. O tipodedadoretornado
representa o tipo de dado antecipado para o valor que será retornado. Isso ficará mais claro através 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 dados:
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 gera 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 invocada. Além disso, podemos 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 requer parâmetros para incluir uma instrução
return
.
Uma função não pode conter nenhum código após uma instrução de retorno, e tipicamente, Go não permite múltiplas instruções de retorno:
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 utilizar a instrução return
dentro de estruturas condicionais para retornar valores de forma seletiva:
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!