Les funcions són blocs de codi que realitzen una tasca específica i poden ser reutilitzats en diferents parts del programa. En Dart, les funcions són elements fonamentals que permeten organitzar el codi de manera modular i clara.

Continguts

Definició de Funcions

Una funció en Dart es defineix utilitzant la paraula clau void si no retorna cap valor, o especificant el tipus de valor que retorna. Aquí teniu un exemple bàsic:

void saludar() {
  print('Hola, món!');
}

Per cridar aquesta funció, simplement escriviu el seu nom seguit de parèntesis:

saludar(); // Sortida: Hola, món!

Paràmetres de Funcions

Les funcions poden acceptar paràmetres per rebre dades d'entrada. Els paràmetres es defineixen dins dels parèntesis de la funció:

void saludarPersona(String nom) {
  print('Hola, $nom!');
}

saludarPersona('Anna'); // Sortida: Hola, Anna!

Paràmetres Opcional i Per Defecte

Dart permet definir paràmetres opcionals i assignar valors per defecte:

void saludarOpcional([String nom = 'amic']) {
  print('Hola, $nom!');
}

saludarOpcional(); // Sortida: Hola, amic!
saludarOpcional('Joan'); // Sortida: Hola, Joan!

Valors de Retorn

Les funcions poden retornar valors utilitzant la paraula clau return. Aquí teniu un exemple d'una funció que suma dos nombres:

int sumar(int a, int b) {
  return a + b;
}

int resultat = sumar(3, 4);
print(resultat); // Sortida: 7

Funcions Anònimes

Les funcions anònimes (o lambdes) són funcions sense nom que es poden assignar a variables o passar com a arguments a altres funcions:

var multiplicar = (int a, int b) {
  return a * b;
};

print(multiplicar(3, 4)); // Sortida: 12

Funcions com a Paràmetres

En Dart, les funcions poden ser passades com a arguments a altres funcions. Això és útil per a operacions com el filtratge o la transformació de col·leccions:

void aplicarFuncio(int a, int b, int Function(int, int) operacio) {
  print(operacio(a, b));
}

int restar(int a, int b) {
  return a - b;
}

aplicarFuncio(10, 5, restar); // Sortida: 5

Exercicis Pràctics

Exercici 1: Funció de Salutació

Creeu una funció salutacioPersonalitzada que accepti un nom i un missatge de salutació, i imprimeixi el missatge amb el nom.

void salutacioPersonalitzada(String nom, String missatge) {
  // Implementació aquí
}

// Exemple de crida
salutacioPersonalitzada('Maria', 'Bon dia'); // Sortida: Bon dia, Maria!

Exercici 2: Funció de Càlcul

Creeu una funció calcular que accepti dos nombres i una funció d'operació (suma, resta, multiplicació o divisió) i retorni el resultat de l'operació.

int calcular(int a, int b, int Function(int, int) operacio) {
  // Implementació aquí
}

// Exemple de crida
int resultat = calcular(6, 2, (a, b) => a * b);
print(resultat); // Sortida: 12

Solucions

Solució Exercici 1

void salutacioPersonalitzada(String nom, String missatge) {
  print('$missatge, $nom!');
}

salutacioPersonalitzada('Maria', 'Bon dia'); // Sortida: Bon dia, Maria!

Solució Exercici 2

int calcular(int a, int b, int Function(int, int) operacio) {
  return operacio(a, b);
}

int resultat = calcular(6, 2, (a, b) => a * b);
print(resultat); // Sortida: 12

Conclusió

En aquesta secció, hem après com definir i utilitzar funcions en Dart, incloent-hi paràmetres, valors de retorn, funcions anònimes i funcions com a paràmetres. Les funcions són una eina poderosa per organitzar i modularitzar el codi, facilitant la seva reutilització i manteniment. A la següent secció, explorarem les col·leccions en Dart, començant per les llistes.

© Copyright 2024. Tots els drets reservats