Passando Arrays para Funções
Uma característica valiosa é a capacidade de passar arrays para funções para que possamos usar esses arrays em outros escopos, especialmente quando são declarados localmente.
A sintaxe geral para um argumento de array em uma função é a seguinte:
argName [tamanhoEsperadoDoArray] tipoDeDado
Implementar isso em uma função teria uma aparência semelhante a esta:
index.go
123func myFunc(arr [5] int) { // code here }
O exemplo a seguir demonstra a passagem de um array para uma função e seu uso:
index.go
123456789101112131415package main import "fmt" func sumOfAll(arr [10] int) int { total := 0 for i := 0; i < 10; i++ { total += arr[i] } return total } func main() { var numbers = [10] int { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 } fmt.Printf("Sum: %d", sumOfAll(numbers)) }
Em Go (Golang), os arrays são sempre passados por valor para as funções. Isso significa que, quando passamos um array para uma função, uma cópia local do array original é criada dentro da função. Consequentemente, quaisquer modificações feitas no array dentro da função não afetarão o array original, porque os dados acessados dentro da função são uma cópia do array original.
O seguinte programa ilustra que fazer alterações no array dentro da função não afeta o array original:
index.go
12345678910111213package main import "fmt" func myFunc(nums [3] int) { nums[1] = 10 } func main() { var values = [3] int {1, 2, 3} fmt.Println("Before:", values) myFunc(values) fmt.Println("After: ", values) }
Nota
Em contraste com a passagem por valor, existe o conceito de passagem por referência, onde uma referência para o array ou variável é passada para a função. Consequentemente, modificar o valor dentro da função também modifica a fonte. Em algumas linguagens de programação, os arrays são passados por referência por padrão.
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
Passando Arrays para Funções
Deslize para mostrar o menu
Uma característica valiosa é a capacidade de passar arrays para funções para que possamos usar esses arrays em outros escopos, especialmente quando são declarados localmente.
A sintaxe geral para um argumento de array em uma função é a seguinte:
argName [tamanhoEsperadoDoArray] tipoDeDado
Implementar isso em uma função teria uma aparência semelhante a esta:
index.go
123func myFunc(arr [5] int) { // code here }
O exemplo a seguir demonstra a passagem de um array para uma função e seu uso:
index.go
123456789101112131415package main import "fmt" func sumOfAll(arr [10] int) int { total := 0 for i := 0; i < 10; i++ { total += arr[i] } return total } func main() { var numbers = [10] int { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 } fmt.Printf("Sum: %d", sumOfAll(numbers)) }
Em Go (Golang), os arrays são sempre passados por valor para as funções. Isso significa que, quando passamos um array para uma função, uma cópia local do array original é criada dentro da função. Consequentemente, quaisquer modificações feitas no array dentro da função não afetarão o array original, porque os dados acessados dentro da função são uma cópia do array original.
O seguinte programa ilustra que fazer alterações no array dentro da função não afeta o array original:
index.go
12345678910111213package main import "fmt" func myFunc(nums [3] int) { nums[1] = 10 } func main() { var values = [3] int {1, 2, 3} fmt.Println("Before:", values) myFunc(values) fmt.Println("After: ", values) }
Nota
Em contraste com a passagem por valor, existe o conceito de passagem por referência, onde uma referência para o array ou variável é passada para a função. Consequentemente, modificar o valor dentro da função também modifica a fonte. Em algumas linguagens de programação, os arrays são passados por referência por padrão.
Obrigado pelo seu feedback!