Publicado em

Arrays em Go

Partilhar:

Introdução

Arrays são uma parte fundamental de muitas linguagens de programação e Go não é exceção. Ao entender os arrays, abre-se uma porta para estruturas de dados mais avançadas e algoritmos mais complexos.

Características dos Arrays em Go

Em Go, um array é uma sequência de elementos do mesmo tipo, onde cada elemento pode ser identificado por um índice. Aqui estão algumas características importantes:

  1. Tamanho Fixo: Uma vez que um array é declarado, o seu tamanho não pode ser alterado.
  2. Índice Baseado em Zero: O primeiro elemento tem índice 0, o segundo tem índice 1, e assim por diante.
  3. Alocação na Memória: Os elementos de um array são armazenados contiguamente na memória.

Declarando e Inicializando Arrays

// Declarando um array de inteiros com 3 elementos
var numeros [3]int
// Inicializando um array durante a declaração
dias := [7]string{"Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"}

Acessando e Modificando Elementos

Como vimos no exemplo anterior, pode-se acessar e modificar elementos do array utilizando o índice:

nomes := [3]string{"João", "Maria", "Ana"}
nomes[1] = "Mariana" // Modifica o segundo elemento

Iterando Sobre Arrays

Utilizando o loop for em combinação com a função range, é possível iterar sobre todos os elementos de um array:

for i, valor := range nomes {
	fmt.Printf("Nome %d: %s\n", i, valor)
}

Exemplo Prático

package main

import "fmt"

func main() {
	var cores [5]string

	cores[0] = "Azul"
	cores[1] = "Verde"
	cores[2] = "Amarelo"
	cores[3] = "Vermelho"
	cores[4] = "Laranja"

	cores = [...]string { "Branco", "Verde", "Amarelo", "Vermelho", "Laranja" }

	fmt.Printf("Número de cores: %d\n", len(cores)) // Número de cores: 5
	fmt.Printf("Primeira cor: %s\n", cores[0]) // Primeira cor: Azul
	fmt.Printf("Última cor: %s", cores[len(cores) - 1]) // Última cor: Laranja
}

Dicas e Truques

  1. Slicing: Go suporta slicing, permitindo criar um subconjunto de um array existente. Isso é útil quando se deseja trabalhar apenas com uma parte do array.
  2. Função len(): Como demonstrado, len() retorna o número de elementos no array.
  3. Arrays vs. Slices: Em Go, os slices são mais flexíveis do que os arrays e são mais comumente usados. No entanto, os arrays têm a sua utilidade, especialmente quando se sabe antecipadamente o número de elementos.

Conclusão

Os arrays são uma ferramenta poderosa em Go, permitindo armazenar e manipular conjuntos de dados de forma eficiente. Dominar os arrays é essencial para qualquer programador Go e serve como base para estruturas de dados mais avançadas.

Happy coding!