Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Passando Arrays para Funções | Vetores e Fatias
Introdução ao Golang

bookPassando 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

index.go

copy
123
func 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

index.go

copy
123456789101112131415
package 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

index.go

copy
12345678910111213
package 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.

question mark

Qual é o código apropriado para o parâmetro da função myFunc:

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 8

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 1.96

bookPassando 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

index.go

copy
123
func 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

index.go

copy
123456789101112131415
package 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

index.go

copy
12345678910111213
package 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.

question mark

Qual é o código apropriado para o parâmetro da função myFunc:

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 8
some-alt