El 14 de septiembre de 2017, publicamos una versión revisada de nuestra Política de privacidad. Tu uso continuado de video2brain.com significa que aceptas este documento revisado, por lo que te recomendamos que dediques unos minutos a leerlo y comprenderlo.

Go esencial

Argumentos y retorno

Prueba ahora LinkedIn Learning sin cargo y sin compromiso.

Prueba gratis Mostrar modalidades de suscripción
Las funciones en Go pueden recibir información a través de los argumentos, que son variables privadas que existen únicamente en el alcance interno de una función. En esta lección aprenderemos a crearlas y usarlas para hacer que las funciones muestren información dinámicamente.
07:39

Transcripción

Dentro de una función, cuando nosotros invocamos el comando "return" vamos a detener su funcionamiento y vamos a obligarla a que nos devuelva un proceso. Puede ser que nos devuelva un valor, puede ser que simplemente se detenga y termine de realizar las operaciones. O en algunos casos podemos hacer que nos devuelva valores especiales. Vamos a probar algunas de estas operaciones dentro de Go. Yo voy a crear una función y esta función se va a llamar "saludo". Y en este caso nos va a devolver una cadena de texto. Yo ahora tengo que utilizar esta función y siempre tiene que devolver una cadena de texto, así que voy a utilizar el comando "return" que detiene el proceso de esta función y me devuelve un valor. Puedo utilizarlo así, como está en este momento pero en este punto me va a dar un error porque exijo que tiene que ser una cadena de texto. Si yo elimino –en este caso– el tipo de dato, vemos que mi función puede trabajar perfectamente simplemente devolviendo un valor, en este caso va a ser un valor nulo. Vamos a ver volver a asignar el tipo de dato y vamos a devolver un dato de tipo texto para que nuestra función pueda trabajar correctamente. Y vamos a poner "Hola mundo". Guardamos. Vamos a ejecutar este programa y en este caso no me está mostrando ningún valor. Es importante que siempre tomemos en cuenta que las funciones debemos invocarlas, si no, la función no va a poder trabajar en el momento que nosotros la necesitemos. Eso es una de las ventajas que tienen las funciones porque podemos invocarlas en el momento en que necesitemos. Por ejemplo, después de que se realice un proceso, cuando un valor sea igual a otro, cuando hayamos realizado algún tipo de operación lógica, algún tipo de control dentro de una condicional y ahí podemos llamar una función. Entonces yo voy a llamar mi función. Por ejemplo, acá la puedo llamar perfectamente, sin embargo, no voy a tener ningún valor para desplegar, así que lo que voy a hacer es que vamos a cambiar un poco la forma en que trabaja esta función. Y voy a llamar la función "saludo". Y acá en el "return", lo voy a cambiar. Voy a poner acá que me devuelva "Hola mundo". Vamos a cambiar el tipo de dato. No le vamos a poner nada. Guardamos. Ejecutamos. Y tenemos ahora el "Hola mundo". Quiero que notes que en el momento en que yo le invoco se va a desplegar la información o se van a ejecutar las tareas que se encuentran dentro de esta función. Vamos a volver al procedimiento que estábamos utilizando hace un momento para que veamos otro detalle que nos dan las funciones en Go. Acá yo estoy devolviendo un valor de tipo texto. Y lo vamos a desplegar dentro de este método llamado "Print". Así que vamos a llamar a "saludo" para que se muestre un valor. Guardamos. Y se está mostrando exactamente el mismo valor. Ahora nosotros podemos hacer por ejemplo, algunos detalles interesantes dentro de Go es que podemos hacer que se devuelvan varios valores. La mayoría de los lenguajes cuando nosotros llamamos una función vamos a tener un solo valor como "return", como resultado. Sin embargo en Go nosotros podemos devolver más de un valor. Por ejemplo, voy a crear una variable "a" y una variable "b". Ambas variables van a ser de tipo "string". Y vamos a asignarle valores a "b", que diga "Hola". Vamos a asignárselo a "a" para que no nos quede al revés el texto y le vamos a poner en "b", que diga "mundo". Vamos a dejar también un espacio para que sea fácil de leer. Y voy a pedirle a esta función "saludo" que me devuelva dos valores: "a" y "b". Ahora hay un detalle. Cuando yo devuelvo dos valores –acá me está dando un error– al ser dos yo acá estaba definiendo un tipo de dato, pero solo estaba definiendo uno. Así que voy a definir los dos tipos de dato que vamos a devolver. Voy a cortar este "string". Y en este caso como los dos valores son de tipo "string" vamos a poner "string , string". En este caso estamos devolviendo ya los dos valores y estamos definiendo cuáles van a ser los valores correspondientes a cada uno. Vamos a guardar. Ejecutemos esta aplicación. Y vemos que se devuelve "Hola mundo". Si yo cambio el valor, por ejemplo de "b" y lo vamos a cambiar a un entero, Vamos a poner que en vez de "mundo" diga "Hola 77". Vamos a dejar un espaci acá para que se pueda leer mejor. Voy a devolver también el segundo valor ya que "b" ahora es un entero. Vamos a devolverlo como el valor que le hemos asignado. Guardamos. Y vemos que nuestra aplicación sigue funcionado correctamente. La ejecutamos. Y vemos que ahora tenemos dos valores. Incluso estoy utilizando un tipo de dato diferente. Otro detalle interesante que tenemos dentro de Go es que no necesariamente tengo que utilizar acá el tipo de dato. Puedo llamar directamente a la variable. Puedo decir que llame la variable "a". Que me llame la variable "b". En este caso también tengo que definir cuál va a ser el tipo de dato que van a tener estas variables. Por ejemplo, acá, "string" y "b", que va a ser un entero. Y acá, vamos a guardar estas dos. Vamos a ver el resultado. Y en este caso lo que está pasando es que estamos redeclarando nuestras variables. Lo que está sucediendo es que yo estoy creando acá esta variable y es exactamente el mismo proceso que lo hiciera acá, así que si lo borro tengo exactamente el mismo proceso simplemente que ahora lo estoy asignando, y cuando entra a mi aplicación "a" va a ser exactamente el valor que yo he definido acá, pero además de eso, va a ser exactamente el valor que yo voy a devolver, y puedo incluso eliminar el valor que está acá y no decirle que me devuelva "a" y "b" sino nada más que me devuelva un valor y entre en el modo de "return". Como yo ya le he definido en esta parte superior cuáles son los valores que van a devolver y no solo eso sino que el tipo de datos que van a tener cada uno de ellos entonces mi aplicación va a devolver "a" y "b" con una cadena de texto y un entero. Vamos a guardar. Y ahora sí ya no vamos a tener ningún error de sintaxis. Vamos a ejecutarlo. Y vemos que me está dando los valores. Gracias a esto nosotros podemos trabajar con una función de Go y devolver valores complejos que pueden tener varias partes varios valores y varios tipos de datos, incluso podemos llamarlos directamente lo cual hace un poco más fácil la sintaxis a la hora de trabajar. No tenemos que declarar tantos valores. Además que podemos saber exactamente qué tipo de valores vamos a recibir en el momento en que invoquemos una función.

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.