Funciones en Dart y Flutter

Dart – Funciones – Argumentos – Callbacks

Funciones básicas (DART y FLUTTER)

El objetivo de una función es sencillo: dividir el programa en pequeñas tareas separadas de la estructura principal. Ademas nos permite reutilizar código obteniendo un resultado mas LIMPIO, ORGANIZADO y ESCALABLE

Como todo es DART, las funciones son un Objeto. Esto significa que las funciones se pueden asignar a variables o pasar como argumentos a otras funciones. También puede llamar a una instancia de una clase Dart como si fuera una función.

OJO:

  • Todo lo que esta dentro de {} es el cuerpo de la función y son las instrucciones que se ejecutan.
  • Todo lo que esta dentro de () son los parámetros que pueden ser usados dentro de la misma.
  • Debe tratar se indicar el tipo de valor a retornar, y en caso, de no retornar ningún valor usar void

Ejemplos de funciones en DART:

main() {
  print('Hola Mundo');
}

En este ejemplo solo imprimimos un String,

main() {
  String saludo = saludar();
  print(saludo);
}

String saludar(){
  return 'Hola';
}

En este ejemplo tenemos dos funciones, MAIN y SALUDAR, esta última es llamada o ejecutada desde la principal. Ademas la función SALUDAR esta definida como un String por lo cual usamos la palabra return con el valor que regresaremos. Este valor se almacena en la variable SALUDO y luego la imprimimos por consola

Parámetros o Argumentos

Los parámetros permiten pasar información entre las funciones, son opcionales, pero al momento de definirlas tenemos dos tipos: de nombre o posicionales.

Parámetros por Nombre

Para parámetros con nombre  definir una función, use {param1, param2,…} :

String saludar({String nombre}){
  return 'Hola $nombre';
}

Al llamar a una función, puede especificar parámetros con nombre usando param1: value. Por ejemplo:

saludar(nombre: 'Joe');

Podemos agregar la anotación @required para indicar que el parámetro es obligatorio. Para usarlo necesitar instalar la dependencia metra a través del paquete package:meta/meta.dart  (en próximas clases te explicare mas sobre las importaciones) Por ejemplo:

String saludar({ @required String nombre}){
  return 'Hola $nombre';
}

Parámetros Posicionales

Son definidos directamente luego de los parentesis, y su POSICIÓN son lo mas importante, ya que se deben enviar de la misma manera.

String saludar(String nombre, String apellido){
  return 'Hola $nombre';
}

Para llamar la función, debe colocar los parámetros en orden ya que de lo contrario puede obtener un resultado incorrecto o incluso error (si el segundo parámetro en un numérico y pasa una cadena de texto, produciría un error). Ejemplo de como pasar los parámetros posicionales:

saludar('Joe', 'Bachi');

Funciones de una linea o funciones de Flecha

Son funciones resumidas que permiten ahorras lineas de códigos.

main() {
  print(funcionSumar(1,1));
  print(funcionFlecha(1,1));
}

//Función
int funcionSumar(int a, int b) {
  return a + b;
}

//Función de Flecha
int funcionFlecha() => a + b;

Se puede observar como la función de flecha usa y aplica directamente los parámetros para realizar una operación que debe retornar el tipo mismo de dato con la cual se crea la función, en este caso INT.

Callbacks

Son funciones que se pasan como parámetros a otra función teniendo esta la responsabilidad de ejecutarla.

main() {
  saludar('Joe', despedir);
}

String saludar(String nombre, Function callback) {
  print('Hola ${nombre}');
  callback();
}

String despedir() {
  print('Chao.');
}

Preguntas y  respuestas

¿Tienes alguna pregunta o sugerencia y te responderé lo más pronto posible?

 

1 thought on “Dart – Funciones – Argumentos – Callbacks”

  1. Pingback: DART - Class (Clases) - FelinoHost

Leave a Comment

Your email address will not be published. Required fields are marked *