Go esencial

Definiendo funciones en Go

¡Prueba gratis durante 10 días

nuestros 1244 cursos !

Prueba gratis Mostrar modalidades de suscripción
Las funciones son la piedra fundamental del lenguaje Go, con ellas podemos almacenar fragmentos de código que pueden ser ejecutados en cualquier momento de acuerdo al flujo lógico de la aplicación. En esta lección aprenderemos cómo funcionan, cómo se declaran y cómo puedes invocarlas en tu aplicación.
07:53

Transcripción

Una función es un bloque de tareas que vamos a ejecutar en el momento que necesitemos dentro de nuestra aplicación. Son particularmente útiles porque nos van a permitir tener paquetes de diferentes tareas, de diferentes elementos que nosotros queremos que se realicen o se procesen dentro de una aplicación y los podemos llamar en cualquier momento. Acá yo tengo una aplicación donde estoy definiendo un paquete llamado "main". Y tengo una función con el mismo nombre. Esta función se está ejecutando automáticamente en el momento en que se inicializa esta aplicación. Nosotros podemos crear más funciones y lo único que tenemos que hacer es declararlas. Acá yo voy a declarar una función utilizando el comando "func". En el caso de Go, está es la forma en que nosotros declaramos las funciones. Y una vez que hemos declarado la función, tenemos que asignarle un nombre. En este caso, yo voy a crear una función llamada "multiplicar". Esta función, "multiplicar", vamos a agregarle paréntesis. Los paréntesis nos van a permitir a nosotros recibir parámetros. Los parámetros básicamente son variables que van a existir únicamente dentro de nuestra función, pero que podemos obtener el valor de estas funciones desde un lugar externo. Por ejemplo, cuando invocamos "multiplicar", podemos asignarle valores para multiplicar. Esto lo vamos a ver dentro de un momento, pero voy a continuar declarando esta función. Dicho el punto en que nosotros podemos asignar parámetros, podemos asignarle, desde ninguno, como en este caso, a una cantidad indefinida de parámetros. Una vez que hemos declarado el nombre y que declaramos un espacio también para los parámetros, también tenemos que asignar cuál va a ser el tipo de valor que nosotros vamos a devolver. Si nuestra función no devuelve ningún valor, entonces nosotros lo podemos dejar así o, en el caso de que devuelva un valor, por ejemplo, mi función "multiplicar" va a devolver un número entero. Así que yo voy a declarar que devuelva un valor, en este caso, de tipo "int". Y voy a declarar el cuerpo de la función dentro de unas llaves. Todo lo que se encuentre dentro de estas llaves se va a ejecutar cada vez que alguien llama a la función "multiplicar". Ahora, yo voy a devolver un valor. En este caso, vamos a devolver un valor. Vamos a poner cualquier valor. Solo voy a poner "return". Este comando, "return", no solo va a devolver un valor que va a ser el que se obtiene cuando alguien invoca esta función. Sino que también va a detener cualquier proceso que se encuentre ejecutándose dentro de ella. Por ejemplo, si yo quiero asignar una variable después de haber declarado "return", no se va a ejecutar. Por lo menos, no va a ser visible porque yo ya le he asignado un valor de retorno. Así que, en este caso, vamos a poner simplemente que devuelva el valor 100. Y como 100 es compatible con un entero, entonces no vamos a tener ningún problema. Quiero que veas nada más qué pasa si devuelvo un valor, en este caso, una cadena de texto. Vamos a tener un problema porque estamos devolviendo un tipo diferente de dato. Vamos a poner otra vez que devuelva un número. Y ahora sí, entonces, cada vez que alguien llame "multiplicar", y vamos a verlo acá, vamos a obtener como respuesta el valor, en este caso, 100. Tenemos un error de sintaxis acá. Listo. Ahora sí, estamos desplegando el resultado de "multiplicar". En este caso,, estoy utilizando el comando "print" para que se despliegue el valor en la consola. Voy a llamar mi aplicación, en este caso, se llama "funciones.go". La voy a compilar y lo voy a ejecutar y vamos a tener acá la respuesta que es 100, el valor que estamos asignándole a multiplicar. ¿Qué otras cosas podemos hacer? Por ejemplo, podemos asignar otro parámetro. Yo puedo poner acá, por ejemplo, 20 y estoy inyectando un valor, en este caso, el valor 20 dentro de mi función. En este caso, no estoy recibiendo ningún parámetro, así que lo vamos a declarar. Por ejemplo, ponemos número. Y vamos a, también, asignarle el tipo de valor que va a tener este número. En este caso, también, un entero. Una vez que ya lo tiene asignado, podemos hacer que se multipliquen estos números, utilizando los operadores matemáticos. En este caso, yo voy a utilizar asterisco y pongo 100 por el valor que el usuario está inyectando dentro de mi función. Guardamos y vamos a tener el valor de 20 por 100. Cuando ejecutemos nuestra aplicación, veremos acá acá ya el resultado, que en este caso es 2000. Podemos asignar más parámetros dentro de una función. Por ejemplo, si yo quisiera que hubiera dos números, los puedo poner. "Número1". Y los puedo separar acá por comas. "Número 2". Y esta sintaxis... Tienen que estar siempre unidos. Como te digo, esta sintaxis que estoy utilizando ahora, podemos ver que estoy declarando dos variables separadas por coma. Y, al final de ellas, estoy asignándoles de manera grupal el tipo de dato que van a ser. Entonces, esto lo puedo repetir en cualquier parte de Go. Cada vez que yo asigno los valores, no tengo que asignárselos uno a uno, sino que si lo asigno de manera grupal, solo lo separa por coma y, al final, pongo cuál es el tipo de datos que van a tener todos esos valores. En este caso, número 1 y número 2 van a ser de tipo entero. Ahora vamos a utilizar estos valores. Si yo utilizo en este momento mi función, me va a dar un error porque "número" ya no es un valor válido. Tengo que definir entre 1 y 2. Ahora voy a tomar 1 y voy a multiplicar, de hecho, por "numero2". Ahora estoy tomando los dos valores que se inyectan dentro de la función y estoy devolviendo un valor. Voy a guardar... Y en este momento me aparece un error de sintaxis. El error es porque yo estoy aceptando dos parámetros, pero en la función estoy inyectando solo uno. Así que tengo que asignar el segundo valor que he definido dentro de función. En este caso, por ejemplo, podríamos poner 20. Voy a guardar. Y vamos a tener como resultado, a la hora de ejecutar esta función, la operación entre multiplicar estos dos números y vamos a obtenerlo como resultado. Vamos a ejecutarlo. Y vemos que nos está dando el número de multiplicar 20 por 20. Así es como nosotros, por ejemplo, podemos utilizar las funciones dentro de Go. Yo voy a utilizarlas, por ejemplo, múltiples veces. En este caso, yo voy a desplegar el resultado de multiplicar 20 por 20, pero si copio, también una vez más esta función, y le cambio los valores, por ejemplo 3 por 3, vamos a tener dos diferentes valores, la función se va a ejecutar dos veces y me va a devolver dos diferentes valores. Vamos a guardar. Vamos a ver el resultado. Tenemos ahora sí dos veces la invocación a una función. Solamente que como cambio los valores, voy a obtener diferentes resultados.

Go esencial

Aprende los elementos esenciales de Go, el lenguaje de código abierto con un rendimiento similar a C, lo que lo ha hecho muy popular para la creación de aplciaciones web.

2:45 horas (29 Videos)
Actualmente no hay comentarios.
 
Software:
Fecha de publicación:16/03/2017

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.