Go esencial

Procesos con slices

¡Prueba gratis durante 10 días

nuestros 1203 cursos !

Prueba gratis Mostrar modalidades de suscripción
Los arrays permiten una serie de operaciones útiles para desarrollar el flujo de una aplicación. Almacenando valores dinámicamente, podemos crear aplicaciones complejas que cumplan con los requerimientos más estrictos.
07:59

Transcripción

Los "slices" son básicamente una instancia de un "array" al cual nosotros no tenemos que definirles específicamente un tamaño. Sabiendo que ambos elementos son prácticamente lo mismo vamos a tener la capacidad de realizar operaciones comunes entre ambos y también es importante mencionar que más comúnmente dentro de nuestras aplicaciones lo que vamos a terminar usando van a ser los slices precisamente por su flexibilidad y porque tienen un índice dinámico de elementos. Ahora, vamos a ver unas operaciones que podemos realizar con ellos. Yo acá estoy trabajando con un slice donde le estoy agregando tres diferentes ítems y estoy desplegando el resultado dentro de la consola. Vamos a ejecutar la aplicación y vemos que tengo ahora, tres elementos; por ejemplo, yo puedo modificar el dato que estamos mostrando acá para saber cuántos ítems tiene este slice. Recordemos que al tener una cantidad dinámica de elementos en algunos casos vamos a necesitar saber cuántos ítems tiene un slice. Para eso, nosotros vamos a utilizar el comando "len" donde vamos a procesar el slice que queremos averiguar la cantidad de elementos que tiene entonces, vamos a incluir "len" y en este caso "frutas" y vamos a obtener como resultado un valor en este caso, va ser un entero donde nos muestra la cantidad de elementos que están almacenados en esta variable. Vamos a guardar y vamos a representarlo en consola y vamos a ver que acá me aparecen tres valores, como vemos acá tenemos 1, 2, 3 si yo le agrego uno nuevo por ejemplo, "Peras". Vamos a guardar y vemos que se actualiza la información y ahora tenemos 4 ítems dentro de este slice. Esto nos va ayudar a nosotros a conocer cuántos valores tenemos almacenados dentro de una variable. También, podemos agregar elementos de manera dinámica voy a borrar este valor que tenemos acá y vamos a volver a tener únicamente tres valores dentro de nuestra variable. Ahora, voy a cambiar un poco el código de mi aplicación y voy agregar otro "fmt". Voy a incluir ahora un "Println" que me va permitir a mí imprimir en una línea cada uno de estos elementos y voy a cambiar también este "Print" para que sea un "Println" y sí vamos a poder tener mejor legibilidad de los resultados que vemos y yo voy agregar otro elemento, por ejemplo si yo quisiera que "frutas" tuviera un valor adicional yo puedo crear un comando llamado "append". El comando "append" me va permitir a mí agregar un ítem dentro de un arreglo o un slice. En este caso, yo voy a definir cuál es el objetivo donde quiero agregar el nuevo valor, por ejemplo, "frutas" y voy a incluir el nuevo valor, en este caso, "Peras". Ahora, "append" lo que hace es que utiliza el slice en este caso, y agrega el valor, pero como resultado nos va a devolver otro valor, en este caso, un slice. El asunto es que si yo guardo acá, vamos a ver que tenemos un error, porque esto siempre me va a devolver un slice. Así que tenemos dos opciones por ejemplo, yo puedo definir una nueva variable que va ser tipo "frutas", y en este caso, "frutas" la puedo convertir directamente a un slice de strings sin ningún valor y vamos a ponerle "frutas2", ahora sí. Vamos a crear esta variable "frutas2" que va ser un slice pero que no tiene ningún valor específico y vamos a agregarle el valor que como resultado nos está dando "append". Así que estamos diciendo que "frutas2" es igual a "append", recordemos que "append" toma los valores de "frutas" y le agrega el valor de "Peras". Ahora, acá me está dando un error porque me está diciendo que no estamos utilizando esta variable, así que vamos a cambiarla y la voy a poner dentro de este primer "Print" que estoy incluyendo acá. Vamos a poner que agregue "frutas2", listo. Ahora, "frutas" tiene un valor de 3 ítems y "frutas2" vamos a ver cuál es el valor, vemos acá que tiene 1, 2, 3, 4 ítems. Acá nos está apareciendo el número 3 porque es el valor que representa la cantidad de ítems que están dentro de "frutas". Si lo cambiamos por "fruta2" vamos a ver que cambia de 3 a 4 porque hemos hecho un ítem extra. Ahora, ¿cómo hacemos esto en una sola operación? También, puede ser que nosotros nada más, queramos agregar un valor dentro de "frutas" sin necesidad de crear una nueva variable. Podemos hacerlo así simplemente voy a borrar "frutas2", y lo que podemos hacer es que yo puedo igualar la variable "frutas" a la operación de "append". En este caso lo que me va a devolver es el valor exactamente que ya tenía "frutas", más el valor que acabo de insertar. Es importante que este valor calce con el tipo de dato que nosotros estamos agregando acá si no, vamos a tener un error. Ahora, una vez que ya sabemos cómo generar estos elementos también, podemos acceder directamente un valor dentro de un slice. Al igual que lo podemos hacer con un array yo puedo invocar directamente un valor dentro de, por ejemplo, "frutas". Si yo quisiera llamar "Manzanas" voy a llamar el elemento que tiene el "index 0" la posición 0. Vamos a guardar. Vamos a eliminar acá la referencia a "frutas2" y voy a ejecutar mi aplicación donde voy a tener dos líneas y la primera me dice que el elemento con el "index 0" es "frutas" y también me dice que tenemos 4 ítems dentro de este slice. Ahora, yo también puedo llamar rangos de valores ya que estamos trabajando con un elemento como el slice que no sabemos cuántos valores puede tener puedo llamar un rango, así que puedo decir que comience en el valor 0 y que acabe en, por ejemplo, el valor 2. En este caso vamos a tomar el valor 0 y el valor 1 pero no vamos a tomar el valor 2. En este caso, no es un valor inclusive, sino que vamos a tomar todos los valores que estén entre 0 igual o más y que sean menores que 2 no inclusive. Así que va ser 0, 1, pero no incluye el 2; vamos a guardar para que veamos cuál es el resultado y vemos que me muestra el valor 0 y el valor 1 pero no me muestra el valor 2. Así voy a tener el rango de valores que están dentro de esta aplicación. Ahora, nosotros tenemos el valor 0, 1, 2 y estamos agregando uno más que es el valor 3. Así, yo puedo, incluso, definir que me muestre del 0 al 3 no inclusive, o sea, todos los valores que sean menores que 3 y que sean iguales o mayores que 0; guardamos y me va mostrar "Manzanas", "Uvas", "Bananas" pero no me va mostrar "Peras". Vamos a ver el resultado, vemos que me muestra "Manzanas" "Uvas", "Bananas". Repito el proceso acá y vamos a decirle que nos incluya todos los valores que sean mayor o igual que 0 y que sean menor que 4 no inclusive. Vamos a ejecutarlo y tenemos ahora "Manzanas", "Uvas" "Bananas", "Peras". Así podemos ver también rangos. Esas son algunas de las operaciones básicas que nosotros podemos realizar con los slices dentro de Go.

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.