Declaración de funciones y la función Main()
Clase 9 de 29 • Curso de Dart
Contenido del curso
Clase 9 de 29 • Curso de Dart
Contenido del curso
Usuario anónimo
Facundo Nicolás García Martoni
Ervic Perez Mendoza
Carlos Isaac Rosales Castellanos
Diego Armando Calero Galvis
David Galicia
Luis Jose Altamirano
Francisco Israel Teneda Gallardo
Valeria Calcina Cisneros
JOSE EMMANUEL RAMIREZ GUERRERO
Jeffersson Muñoz Torres
Nomar Díaz
Diego Forero
Usuario anónimo
Jeffersson Muñoz Torres
Fernanda Aragon
Alejandro Sanabria
Freddy Santacruz
Freddy Alberto Torres Villegas
Freddy Silva Hurtado
Joseph Michael Ciriaco Bermudez
David Luna
Facundo Nicolás García Martoni
Ezequiel Portela
Arturo Guardo Rincón
Massimo Di Berardino
James Kristof Ubiarco Rodriguez
Valeria Calcina Cisneros
Juan Manuel Cortes
Juan José del Aguila López
Camilo Alexander Velandia Velandia
Kebyn Enrique Ajin Elías
Christian David Sánchez
🐱💻 En Dart tenemos funciones con retorno y sin retorno void.
++RESUMEN DE LA CLASE++
Funciones
main(): Es el punto de entrada de todas las aplicaciones. Es de tipo void y tiene como parametro opcional una lista de strings.
void main(List<String> arguments){ }
Declaración de una función:
tipo_funcion nombre_funcion (argumentos){ //codigo return elemento_tipo_funcion; } //Por ejemplo: int sumar(int a, int b){ print("A continuación se retornará una suma"); return a+b; }
Como todo en Dart es un objeto, podemos hacer que una variable almacene la dirección de memoria de la función, o pasarla como parámetro a otras funciones.
Excelente aporte! :)
Código comentado de la clase:
// Clase sobre funciones // ! Todas las aplicaciones deben tener una función de alto nivel llamada [main()] // ! que se encarga de trabajar como punto de entrada. La función main() es de tipo [void] // ! y tiene como parámetros opcionales un List<String> para argumentos. main(List<String> args) { print(args); // ? contenido de los argumentos. // * Cabe recalcar que las funciones también son objetos, por lo que tenemos permitido // * asignar una función a una variable o pasarla como parámetro a otras funcionas. saludame(); int a = 10, b = 5; int resultado = suma(a,b); // ! Ejemplo de una llamada a una función con parámetros que retorna un valor. print(resultado); multiplicacion(a, b); // ! Ejemplo de una llamada a una función con parámetros que no retorna un valor. print(retornoNull()); // ! Ejemplo de una llamada de una función dentro de otra función !! } saludame(){ // ! Ejemplo de una función sin parámetros que no retorna nada. print("Hola! qué tal tu día? (:"); } int suma(int primerNumero, int segundoNumero){ // ! Ejemplo de una función con parámetros que retorna un valor. return (primerNumero + segundoNumero); } void multiplicacion(int primerNumero, int segundoNumero){ // ! Ejemplo de una función con parámetros que no retorna nada. int multiplicados = primerNumero * segundoNumero; print(multiplicados); } String retornoNull(){ // ? Esta función retornará null porque al no estar devolviendo una variable del tipo que se le pide, retorna null automáticamente. }
Muy parecido a Java con la facilidad y simplicidad de Kotlin! Simplemente genial
Estoy de acuerdo .
Encuentro cierto parecido con C# , con que otro lenguaje , Dart es similar?
javascript y java
con Kotlin
Interesante el uso de ?? una vez más...
El problema es que aveces es difícil de aplicar eso cuando quiere incluir test
Que editor usas??*
Es probable que sea Webstorn de Jetbrains o uno de los IDE's de Jetbrains ya que tiene varios y todos tienen la interfaz muy similar.
Es IntelliJ IDEA de JetBrains.
No se aun si verlo como una ventaja o desventaja. Y es por que una funciona nos esta regresando null aunque le pongamos un tipo de dato a la función. ++Ventaja:++ Porque nuestro programa no se romperá por un algún Excepction. ++Desventaja:++ Puede que tienda al error al escribir código o esperar respuesta de una función, aunque se puede solucionar con un test unitario o modular; pero terminaría siendo un trabajo extra 😅
Dart tiene algo de high order functions?
Si ya que es un concepto no algo adherido al lenguaje perse.
muy parecido a typeScript
main(List<String> arguments) { int result=sumaDosNumero(5,5); print('El resultado de la suma es: $result'); } sumaDosNumero(int a , int b) { return a+b; } result: El resultado de la suma es: 10
main(List<String> args) { add(); addconParam(3, 5); int regreso = addconRegreso(3, 5); print(regreso); } void add(){ print(3+5); } void addconParam(int a,int b){ print(a+b); } int addconRegreso(int a,int b){ return a+b; }```
el tipo de dato dynamic en muy interasante y que buneo que se pueda usar en dart
Asi tambien puedo llamar a una funcion...
main(List<String> arguments) { print("La suma es: ${addtipodeDato(5,8)}"); } int addtipodeDato(int a, int b){ return a+b; }```
Dart tiene la posibilidad de colocar parametros opcionales o con valores por default?
¿Podrías explicarte más?
Buenas David, como estás?
Dart permite parámetros opcionales de la siguiente forma
void mostrarDatos(int id, { String nombre: 'Juan', String apellido }) { print('id $id'); print('nombre $nombre'); print('id $apellido'); }
En el ejemplo anterior, el parámetro id es requerido y los parámetros nombre y apellido son opcionales, y el nombre tiene un valor opcional.
Espero que te sirva
Saludos
¿Existe alguna restricción en la asignación de nombre de la función?
Hola Arturo, Sí, existes ciertas palabras reservadas como los identificadores de variables o algunos otros que no pueden utilizarse para el nombre de funciones o variables
Para qué se necesita una función con regreso?
Hola James! Si te refieres al return que se encuentra al final de una funcion, es porque las buenas practicas dicen que es mejor que una funcion retorne un valor a que retorne nula. Saludos!
Debes tener en cuenta que lo que sucede dentro de una función se queda en la función. O sea, fuera de los corchetes "muere" por decirlo así. Parecido a _lo que pasa en las Vegas se queda en las Vegas _ xd. Entonces, el return nos permitirá tener lo que ocurrió en la función dentro de nuestra memoria, para futuros datos, o para lo que lo necesitemos.
void main() { add(); addconParam(3,8); int regreso = addconRegreso(3,6); print(regreso); } void add(){ print(3+5); } void addconParam(int a, int b){ print(a+b); } int addconRegreso(int a, int b){ return a+b; }
genial
Muy buena explicación.
Declaración de Funciones void sum(){ print(1+2); }
void sumWhitParams(int a, int b){ print(a+b); }
int sumReturn(int a, int b){ return(a+b); }