Dart:
Organizando el código en funciones
Cómo hacerlo:
Función Básica
En Dart, defines una función usando la palabra clave void
si no devuelve un valor, o especificas el tipo de valor que devuelve de lo contrario. Aquí hay una función simple que imprime un mensaje de saludo:
void greet(String name) {
print('Hola, $name!');
}
void main() {
greet('Alice'); // Salida: Hola, Alice!
}
Devolviendo un Valor
Las funciones pueden devolver valores. El siguiente ejemplo toma dos enteros como entrada y devuelve su suma:
int add(int a, int b) {
return a + b;
}
void main() {
var sum = add(5, 3);
print(sum); // Salida: 8
}
Funciones Anónimas
Dart soporta funciones anónimas (también conocidas como expresiones lambda o closures), que pueden ser útiles para funcionalidades rápidas y al vuelo. Así es como se usa una función anónima con el método forEach
de una lista:
void main() {
var fruits = ['manzana', 'banana', 'cereza'];
fruits.forEach((item) {
print(item);
});
// Salida:
// manzana
// banana
// cereza
}
Sintaxis de Flecha para Funciones de Expresión Única
Para funciones que solo contienen una única expresión, Dart ofrece una sintaxis concisa usando la notación de “flecha” (=>
). Esto es especialmente útil para funciones cortas o pasar funciones como argumentos:
int square(int num) => num * num;
void main() {
print(square(4)); // Salida: 16
}
Usando Bibliotecas de Terceros
Para funcionalidades más complejas o especializadas, los programadores de Dart a menudo confían en bibliotecas de terceros. Considera la biblioteca http
para hacer solicitudes HTTP. Primero, añade http
a tu archivo pubspec.yaml bajo dependencias:
dependencies:
http: ^0.13.3
Luego, puedes usarla para obtener datos de la web:
import 'package:http/http.dart' as http;
Future<void> fetchUserData() async {
var response = await http.get(Uri.parse('https://api.example.com/users/1'));
print(response.body);
}
void main() {
fetchUserData();
// Salida esperada: Datos JSON del usuario. La salida real dependerá de la respuesta de la API.
}
Recuerda, al organizar tu código Dart en funciones, piensa en la reutilización, claridad y el principio de responsabilidad única. Esto no solo hace que tu código sea más limpio, sino también más fácil para otros (y para ti en el futuro) de entender y mantener.