Les estructures de control són fonamentals en qualsevol llenguatge de programació, ja que permeten controlar el flux d'execució del codi. En aquest tema, aprendrem sobre les estructures de control més comunes en Go: condicions, bucles i seleccions múltiples.
Índex
Condicionals
if
i else
La instrucció if
s'utilitza per executar un bloc de codi si una condició és certa. L'instrucció else
s'utilitza per executar un bloc de codi si la condició és falsa.
Sintaxi:
if condició { // codi a executar si la condició és certa } else { // codi a executar si la condició és falsa }
Exemple:
package main import "fmt" func main() { x := 10 if x > 5 { fmt.Println("x és més gran que 5") } else { fmt.Println("x no és més gran que 5") } }
else if
La instrucció else if
s'utilitza per provar múltiples condicions.
Sintaxi:
if condició1 { // codi a executar si condició1 és certa } else if condició2 { // codi a executar si condició2 és certa } else { // codi a executar si cap de les condicions anteriors és certa }
Exemple:
package main import "fmt" func main() { x := 10 if x > 15 { fmt.Println("x és més gran que 15") } else if x > 5 { fmt.Println("x és més gran que 5 però menor o igual a 15") } else { fmt.Println("x és menor o igual a 5") } }
Bucles
for
En Go, el bucle for
és l'única estructura de bucle disponible, però es pot utilitzar de diverses maneres.
Sintaxi:
Exemple:
Bucle for
com a while
El bucle for
també es pot utilitzar com un bucle while
.
Sintaxi:
Exemple:
Bucle infinit
Un bucle for
sense cap condició crea un bucle infinit.
Sintaxi:
Exemple:
Seleccions Múltiples
switch
La instrucció switch
s'utilitza per seleccionar una de diverses opcions basades en el valor d'una expressió.
Sintaxi:
switch expressió { case valor1: // codi a executar si expressió == valor1 case valor2: // codi a executar si expressió == valor2 default: // codi a executar si cap dels casos anteriors és cert }
Exemple:
package main import "fmt" func main() { day := "dimecres" switch day { case "dilluns": fmt.Println("Avui és dilluns") case "dimarts": fmt.Println("Avui és dimarts") case "dimecres": fmt.Println("Avui és dimecres") default: fmt.Println("No és dilluns, dimarts ni dimecres") } }
Exercicis Pràctics
Exercici 1: Condicionals
Escriu un programa que demani a l'usuari un número i imprimeixi si el número és positiu, negatiu o zero.
Solució:
package main import "fmt" func main() { var num int fmt.Print("Introdueix un número: ") fmt.Scan(&num) if num > 0 { fmt.Println("El número és positiu") } else if num < 0 { fmt.Println("El número és negatiu") } else { fmt.Println("El número és zero") } }
Exercici 2: Bucles
Escriu un programa que imprimeixi els números del 1 al 10 utilitzant un bucle for
.
Solució:
Exercici 3: switch
Escriu un programa que demani a l'usuari un dia de la setmana i imprimeixi un missatge corresponent utilitzant una instrucció switch
.
Solució:
package main import "fmt" func main() { var day string fmt.Print("Introdueix un dia de la setmana: ") fmt.Scan(&day) switch day { case "dilluns": fmt.Println("Avui és dilluns") case "dimarts": fmt.Println("Avui és dimarts") case "dimecres": fmt.Println("Avui és dimecres") case "dijous": fmt.Println("Avui és dijous") case "divendres": fmt.Println("Avui és divendres") case "dissabte": fmt.Println("Avui és dissabte") case "diumenge": fmt.Println("Avui és diumenge") default: fmt.Println("Dia no vàlid") } }
Resum
En aquesta secció, hem après sobre les estructures de control en Go, incloent-hi les instruccions condicionals (if
, else if
, else
), els bucles (for
) i les seleccions múltiples (switch
). Aquestes estructures són essencials per controlar el flux d'execució del teu programa i prendre decisions basades en condicions específiques. Practica amb els exercicis proporcionats per reforçar els conceptes apresos.
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