Typedef en Dart se usa para crear una identidad definida por el usuario ( alias ) para una función, y podemos usar esa identidad en lugar de la función en el código del programa. Cuando usamos typedef podemos definir los parámetros de la función.
Syntax: typedef function_name ( parameters );
Con la ayuda de typedef, también podemos asignar una variable a una función.
Syntax:typedef variable_name = function_name;
Después de asignar la variable, si tenemos que invocarla, vamos como:
Syntax: variable_name( parameters );
Con esto podremos utilizar una sola función de diferentes maneras:
Ejemplo 1: uso de typedef en Dart.
Dart
// Dart program to show the usage of typedef // Defining alias name typedef GeeksForGeeks(int a, int b); // Defining Geek1 function Geek1(int a, int b) { print("This is Geek1"); print("$a and $b are lucky geek numbers !!"); } // Defining Geek2 function Geek2(int a, int b) { print("This is Geek2"); print("$a + $b is equal to ${a + b}."); } // Main Function void main() { // Using alias name to define // number with Geek1 function GeeksForGeeks number = Geek1; // Calling number number(1,2); // Redefining number // with Geek2 function number = Geek2; // Calling number number(3,4); }
Producción:
This is Geek1 1 and 2 are lucky geek numbers !! This is Geek2 3 + 4 is equal to 7.
Nota: Aparte de esto, typedef también puede actuar como parámetros de una función.
Ejemplo 2: Uso de typedef como parámetro de una función.
Dart
// Dart program to show the usage of typedef // Defining alias name typedef GeeksForGeeks(int a, int b); // Defining Geek1 function Geek1(int a, int b) { print("This is Geek1"); print("$a and $b are lucky geek numbers !!"); } // Defining a function with a typedef variable number(int a, int b, GeeksForGeeks geek) { print("Welcome to GeeksForGeeks"); geek(a, b); } // Main Function void main() { // Calling number function number(21,23, Geek1); }
Producción:
Welcome to GeeksForGeeks This is Geek1 21 and 23 are lucky geek numbers !!
Publicación traducida automáticamente
Artículo escrito por aditya_taparia y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA