En aquest tema, explorarem dues estructures de dades fonamentals en Go: els arrays i els slices. Aquests conceptes són essencials per a la manipulació de col·leccions de dades i són àmpliament utilitzats en la programació diària.
Arrays
Què és un Array?
Un array és una col·lecció d'elements del mateix tipus, amb una mida fixa. Els elements d'un array es poden accedir mitjançant un índex, que comença en 0.
Declaració d'Arrays
Per declarar un array en Go, es pot utilitzar la següent sintaxi:
Exemple:
Això declara un array anomenat numeros
que pot contenir 5 enters.
Inicialització d'Arrays
Els arrays es poden inicialitzar en el moment de la seva declaració:
També es pot ometre la mida i deixar que Go la dedueixi:
Accés i Modificació d'Elements
Els elements d'un array es poden accedir i modificar utilitzant l'índex:
Iteració sobre Arrays
Es pot utilitzar un bucle for
per iterar sobre els elements d'un array:
També es pot utilitzar el bucle for range
:
Slices
Què és un Slice?
Un slice és una vista dinàmica sobre un array. A diferència dels arrays, els slices poden canviar de mida. Els slices són molt més flexibles i s'utilitzen més freqüentment que els arrays en Go.
Declaració de Slices
Els slices es poden declarar de diverses maneres:
Exemple:
Creació de Slices amb make
Es pot utilitzar la funció make
per crear un slice amb una mida inicial i una capacitat opcional:
Això crea un slice de 5 elements amb una capacitat de 10.
Accés i Modificació d'Elements
Els elements d'un slice es poden accedir i modificar de la mateixa manera que els arrays:
fmt.Println(noms[0]) // Imprimeix "Anna" noms[1] = "Berta" fmt.Println(noms[1]) // Imprimeix "Berta"
Append
La funció append
s'utilitza per afegir elements a un slice:
Sub-slices
Es poden crear sub-slices a partir d'un slice existent:
Iteració sobre Slices
La iteració sobre slices es fa de la mateixa manera que amb els arrays:
Exercicis Pràctics
Exercici 1: Declaració i Inicialització d'Arrays
- Declara un array de 3 elements de tipus
float64
anomenatpreus
. - Inicialitza l'array amb els valors
19.99
,25.50
i9.75
. - Imprimeix tots els elements de l'array.
Solució:
package main import "fmt" func main() { var preus = [3]float64{19.99, 25.50, 9.75} for i := 0; i < len(preus); i++ { fmt.Println(preus[i]) } }
Exercici 2: Manipulació de Slices
- Declara un slice de
strings
anomenatcolors
amb els valors "vermell", "verd" i "blau". - Afegeix el color "groc" al slice.
- Crea un sub-slice que contingui els dos primers elements de
colors
. - Imprimeix el sub-slice.
Solució:
package main import "fmt" func main() { colors := []string{"vermell", "verd", "blau"} colors = append(colors, "groc") subColors := colors[:2] fmt.Println(subColors) }
Conclusió
En aquesta secció, hem après sobre els arrays i els slices en Go. Els arrays són col·leccions de mida fixa, mentre que els slices són més flexibles i poden canviar de mida. Hem vist com declarar, inicialitzar, accedir i modificar elements en arrays i slices, així com com iterar sobre ells. També hem practicat aquests conceptes amb exercicis pràctics. En el proper tema, explorarem els maps
, una altra estructura de dades important en Go.
Curs de Programació en Go
Mòdul 1: Introducció a Go
- Introducció a Go
- Configuració de l'Entorn Go
- El Teu Primer Programa en Go
- Sintaxi i Estructura Bàsiques
Mòdul 2: Conceptes Bàsics
Mòdul 3: Estructures de Dades Avançades
Mòdul 4: Gestió d'Errors
Mòdul 5: Concurrència
Mòdul 6: Temes Avançats
Mòdul 7: Desenvolupament Web amb Go
Mòdul 8: Treballant amb Bases de Dades
Mòdul 9: Desplegament i Manteniment
- Construcció i Desplegament d'Aplicacions Go
- Registre
- Monitorització i Optimització del Rendiment
- Millors Pràctiques de Seguretat