Passando Dados para as Funções
As funções não são muito úteis se não pudermos acessar dados de fora delas devido a diferenças de escopos. No entanto, podemos passar dados para as funções usando 'parâmetros'.
Parâmetros definem um formato para os dados que uma função espera receber quando é chamada ou executada.
Nos capítulos anteriores, examinamos funções simples sem parâmetros. No entanto, podemos declarar uma função com parâmetros usando a seguinte sintaxe:
index.go
123func myFunc(param1 datatype, param2 datatype, ...) { // Code }
Cada parâmetro pode ter um nome distinto seguido pelo seu tipo de dado. Vírgulas separam os parâmetros. Os parâmetros seguem as mesmas convenções de nomenclatura que as variáveis.
Aqui está um exemplo que ilustra o uso de funções com parâmetros:
index.go
12345678910111213141516171819202122package main import "fmt" func outThreeTimes(message string) { fmt.Println(message) fmt.Println(message) fmt.Println(message) } func sum(value1 int, value2 int) { fmt.Println("Sum:", value1 + value2) } func product(val1 int, val2 int, val3 int) { fmt.Println("Product:", val1 * val2 * val3) } func main() { outThreeTimes("Hello World") sum(17, 25) product(4, 7, 9) }
No programa acima, você notará funções com um, dois e três parâmetros. É completamente possível criar funções com quantos parâmetros forem necessários.
Valores podem ser fornecidos a essas funções diretamente ou por meio de variáveis. Por exemplo, na instrução subsequente, fornecemos diretamente o valor da string onde um parâmetro é esperado:
index.go
1outThreeTimes("Hello World")
Alternativamente, podemos armazená-lo dentro de uma variável do tipo string e depois passar essa variável para a função:
index.go
12var msg string = "Hello World" outThreeTimes(msg)
No texto a seguir, você observa uma combinação de ambas as abordagens:
index.go
123var a int = 4 var b int = 7 product(a, b, 9)
Você pode escolher o método que melhor atenda às suas necessidades.
Nota
Ao passar variáveis ou valores de dados para uma função, eles são chamados de argumentos. No caso de
product(a, b, 9)
, os termosa
,b
e9
são argumentos. Por outro lado, na declaração da função,val1 int
,val2 int
eval3 int
são conhecidos como parâmetros.
É importante passar dados para funções na ordem definida pelos parâmetros. Por exemplo, em uma função func myFunc(an int, b string)
, o primeiro argumento deve ser um inteiro e o segundo deve ser uma sequência de caracteres; qualquer outra ordem resultará em erros.
Dentro da função, os parâmetros efetivamente agem como variáveis que assumem os valores dos argumentos passados. Portanto, declarar variáveis com o mesmo nome de qualquer parâmetro da função dentro do corpo da função levará a erros.
index.go
123func myFunc(param int) { var param int = 1 // Error Here }
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you show me an example of a function with parameters?
What happens if I pass arguments in the wrong order?
Can I use default values for function parameters?
Awesome!
Completion rate improved to 1.96
Passando Dados para as Funções
Deslize para mostrar o menu
As funções não são muito úteis se não pudermos acessar dados de fora delas devido a diferenças de escopos. No entanto, podemos passar dados para as funções usando 'parâmetros'.
Parâmetros definem um formato para os dados que uma função espera receber quando é chamada ou executada.
Nos capítulos anteriores, examinamos funções simples sem parâmetros. No entanto, podemos declarar uma função com parâmetros usando a seguinte sintaxe:
index.go
123func myFunc(param1 datatype, param2 datatype, ...) { // Code }
Cada parâmetro pode ter um nome distinto seguido pelo seu tipo de dado. Vírgulas separam os parâmetros. Os parâmetros seguem as mesmas convenções de nomenclatura que as variáveis.
Aqui está um exemplo que ilustra o uso de funções com parâmetros:
index.go
12345678910111213141516171819202122package main import "fmt" func outThreeTimes(message string) { fmt.Println(message) fmt.Println(message) fmt.Println(message) } func sum(value1 int, value2 int) { fmt.Println("Sum:", value1 + value2) } func product(val1 int, val2 int, val3 int) { fmt.Println("Product:", val1 * val2 * val3) } func main() { outThreeTimes("Hello World") sum(17, 25) product(4, 7, 9) }
No programa acima, você notará funções com um, dois e três parâmetros. É completamente possível criar funções com quantos parâmetros forem necessários.
Valores podem ser fornecidos a essas funções diretamente ou por meio de variáveis. Por exemplo, na instrução subsequente, fornecemos diretamente o valor da string onde um parâmetro é esperado:
index.go
1outThreeTimes("Hello World")
Alternativamente, podemos armazená-lo dentro de uma variável do tipo string e depois passar essa variável para a função:
index.go
12var msg string = "Hello World" outThreeTimes(msg)
No texto a seguir, você observa uma combinação de ambas as abordagens:
index.go
123var a int = 4 var b int = 7 product(a, b, 9)
Você pode escolher o método que melhor atenda às suas necessidades.
Nota
Ao passar variáveis ou valores de dados para uma função, eles são chamados de argumentos. No caso de
product(a, b, 9)
, os termosa
,b
e9
são argumentos. Por outro lado, na declaração da função,val1 int
,val2 int
eval3 int
são conhecidos como parâmetros.
É importante passar dados para funções na ordem definida pelos parâmetros. Por exemplo, em uma função func myFunc(an int, b string)
, o primeiro argumento deve ser um inteiro e o segundo deve ser uma sequência de caracteres; qualquer outra ordem resultará em erros.
Dentro da função, os parâmetros efetivamente agem como variáveis que assumem os valores dos argumentos passados. Portanto, declarar variáveis com o mesmo nome de qualquer parâmetro da função dentro do corpo da função levará a erros.
index.go
123func myFunc(param int) { var param int = 1 // Error Here }
Obrigado pelo seu feedback!