No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Dart

Curso de Dart

Argel Franco Bejarano de la Cruz

Argel Franco Bejarano de la Cruz

Declaración de funciones y la función Main()

9/29
Recursos

Las funciones son una colección de declaraciones agrupadas para desarrollar una operación, éstas pueden ser llamadas y reutilizadas.

Una función tendrá un tipo (mismo que regresará al utilizarse), un nombre, argumentos e instrucciones y seguirá la siguiente estructura.

type functionName([args]){
	//code
	return returnValue;
}

main() es la función de alto nivel que define el inicio de la aplicación y sigue la siguiente estructura, recuerda que en web no se requieren los argumentos.

void main(List<String> arguments) {
    //code
}

Nota: En Dart las funciones también son objetos, así que las podemos asignar a una variable.

Aportes 30

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

🐱‍💻 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.

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

Encuentro cierto parecido con C# , con que otro lenguaje , Dart es similar?

Interesante el uso de ?? una vez más…

Que editor usas??*

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 😅

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?

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);
}

Genial. Se me aclararon varias dudas que tenía con el uso de void y los valores de retorno

Para qué sirve la palabra ‘void’?
He probado ya que puedo declarar una función con y sin la palabra void.

Genial!!

interesante.

excelente clase 😃

//Main  es un punto de entrada a nuestro codigo el cual contiene la lista de argumentos

//las funciones son una coleccion de declaraciones agrupadas para desarrollar una operacion
//void/int/string/list/etc

//En dart todo es un objeto y las funciones tambien y se pueden pasar como parametros

main(List<String> args) {
  add();
  addConParametros(3, 5);

  int regreso = addConRegreso(3, 5);
  print(regreso);

  addConFuncion(2, addConRegreso(3, 5));
}

void add() {
  print(3+5);
}

void addConParametros(int a, int b) {
  print(a + b);
}

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

void addConFuncion(int a, int b) {
  print(a + b);
}

Usando Arrow Funtion 😄 :

main(List<String> args) {
  int a  = 5, b = 10;
  int result = addNumbers(a, b);
  print("La suma de a y b $result");
}

// Arrow Function
int addNumbers(int a , int b) => a + b; 

Función: colección de declaraciones para desarrollar una operación, estas pueden ser llamadas o reutilizadas.

Son 2 cosas que no entendi en el examen:
1.- se supone de DART inicia con el MAIN, porque en el examen me marca error?
2.- La otra pregunta es la de los operadores (no encuentro sentido alguno)

Las funciones son definidas por una colección de instrucciones para lograr operaciones.

Si nuestra función es de tipo int deberá return de tipo int, si no definimos return y el tipo correcto nos va a dar un error o bien este retornara el valor de NULL.

// Funciones main(List<String> arguments) {

}
// podemos usar esta siguiente estructura:
void add(){
print(3+5);
}
Salida: No retornada nada, esto es debido a que no lo estamos mandando a llamar.

// Ahora si nosotros mandamos a llamar en la función main que es el punto de entrada:

main(List<String> arguments) {
add(); <----
}
// podemos usar esta siguiente estructura:
void add(){
print(3+5);
}
Salida: 8

// Ahora si nosotros definimos una funcion que se llame add

void addconParam(int a, int b){
print (a + b);
}

y en nuestro main ponemos:

main(List<String> arguments) {
add();
addconParam(3, 5);
}

Salida: 8 8 // Ahora podemos reutilizar cuantas veces necesitemos este código.

// En muchas ocasiones necesitamos que nos regrese ese valor

int addconRegreso(int a, int b){
//return a + b;
}

y en nuestro main:

main(List<String> arguments) {
add();
addconParam(3, 5);
int regreso = addconRegreso(3, 5);
print (regreso);
}

Salida: Al momento de ejecutar esto podemos ver que el valor null se muestra en pantalla y esto es debido a que la palabra return es necesaria cuando estamos definiendo que es un valor int o del tipo que nosotros decidamos.

Solamente con el hecho de activar de nuevo esta linea de código y ejecutarlo le damos solución a este problema.

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

el main de Dart me recuerda un poco a :

if __name__ == '__main__':```
en pyhton, de igual forma se relaciona con la función main que se hace igualmente en Python con el fin de relacionar las demás funciones
<h1>Funciones</h1>
main(List<String> args) {
  add();
  addWithParam(4, 3);
  int result = addWithReturn(4, 5);
  print(result);
}

// funciones sin parámetros
void add() {
  print(3 + 5);
}

// funciones con parámetros
void addWithParam(int a, int b) {
  print(a + b);
}

// funciones con retorno
int addWithReturn(int a, int b) {
  return a + b;
}