Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Rebanadas | Arreglos y Rebanadas
Introducción a Golang

bookRebanadas

Las rebanadas son similares a las matrices, pero poseen longitudes dinámicas, lo que las convierte en una alternativa más flexible que éstas.

Para crear una porción, utilizamos la misma sintaxis que para las matrices, pero en este caso omitimos especificar el tamaño.

Creación de una porción con la palabra clave var:

// Crea un slice vacío sin elementos
var sliceName [] dataType

// Crea un slice con los elementos especificados
var sliceName = [] dataType {element_1, element_2, ...}

Crea un Slice usando el operador :=:

// Crea un slice con los elementos especificados
sliceName := [] dataType { elemento_1, elemento_2, ... }

Podemos añadir elementos adicionales a un slice usando la función append. La función append devuelve un nuevo slice con los elementos añadidos, que podemos almacenar en la variable slice original. Esto quedará más claro con un ejemplo. La sintaxis básica de la función append es la siguiente:

append(rebanadaoriginal, nuevoElemento1, nuevoElemento2, ...)

El siguiente código demuestra el uso de la función append:

index.go

index.go

copy
1234
randomNumbers := [] int { 1, 4, 5} fmt.Println(randomNumbers) // Output: [1 4 5] randomNumbers = append(randomNumbers, 7, 9) fmt.Println(randomNumbers) // Output: [1 4 5 7 9]

Del mismo modo que podemos acceder a los elementos de una matriz, también podemos hacer referencia a partes de una matriz utilizando la siguiente sintaxis:

index.go

index.go

copy
1
arrayName[startIndex:endIndex + 1]

Extraerá todos los elementos desde el startingIndex hasta el endingIndex. Tenga en cuenta que debemos proporcionar endingIndex + 1. Esto quedará más claro con un ejemplo. Por ejemplo:

index.go

index.go

copy
12
var numbers = [10] int { 2, 4, 6, 9, 10, 12, 14, 16, 17, 19 } fmt.Println(numbers[4:9]) // Output: [10 12 14 16 17]

Extrae los elementos de los índices 4 a 9, incluyendo el elemento en el índice 4 y excluyendo el elemento en el índice 9, como se expresa en la sintaxis:

index.go

index.go

copy
1
arrayName[startingIndex:endingIndex + 1]

También podemos almacenar esta porción extraída del array en una variable, creando así un slice:

index.go

index.go

copy
123
var numbers = [10] int { 2, 4, 6, 9, 10, 12, 14, 16, 17, 19 } numbersPart := numbers[2:7] fmt.Println(numbersPart) // Output: [6 9 10 12 14]

Es importante tener en cuenta que una rebanada de este tipo hace referencia a la parte de la matriz a partir de la cual se creó. Por lo tanto, cualquier cambio que se realice en esa porción también afectará a la matriz original:

index.go

index.go

copy
12345678910111213
package main import "fmt" func main() { var pin = [4] int { 1, 2, 3, 4 } part := pin[1:3] fmt.Println(pin) // Output [1, 2, 3, 4] fmt.Println(part) // Output: [2, 3] part[0] *= 2 part[1] *= 3 fmt.Println(part) // Output [4, 9] fmt.Println(pin) // Output [1, 4, 9, 4] }
question mark

¿Cuál será la salida del siguiente código?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 3

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 1.96

bookRebanadas

Desliza para mostrar el menú

Las rebanadas son similares a las matrices, pero poseen longitudes dinámicas, lo que las convierte en una alternativa más flexible que éstas.

Para crear una porción, utilizamos la misma sintaxis que para las matrices, pero en este caso omitimos especificar el tamaño.

Creación de una porción con la palabra clave var:

// Crea un slice vacío sin elementos
var sliceName [] dataType

// Crea un slice con los elementos especificados
var sliceName = [] dataType {element_1, element_2, ...}

Crea un Slice usando el operador :=:

// Crea un slice con los elementos especificados
sliceName := [] dataType { elemento_1, elemento_2, ... }

Podemos añadir elementos adicionales a un slice usando la función append. La función append devuelve un nuevo slice con los elementos añadidos, que podemos almacenar en la variable slice original. Esto quedará más claro con un ejemplo. La sintaxis básica de la función append es la siguiente:

append(rebanadaoriginal, nuevoElemento1, nuevoElemento2, ...)

El siguiente código demuestra el uso de la función append:

index.go

index.go

copy
1234
randomNumbers := [] int { 1, 4, 5} fmt.Println(randomNumbers) // Output: [1 4 5] randomNumbers = append(randomNumbers, 7, 9) fmt.Println(randomNumbers) // Output: [1 4 5 7 9]

Del mismo modo que podemos acceder a los elementos de una matriz, también podemos hacer referencia a partes de una matriz utilizando la siguiente sintaxis:

index.go

index.go

copy
1
arrayName[startIndex:endIndex + 1]

Extraerá todos los elementos desde el startingIndex hasta el endingIndex. Tenga en cuenta que debemos proporcionar endingIndex + 1. Esto quedará más claro con un ejemplo. Por ejemplo:

index.go

index.go

copy
12
var numbers = [10] int { 2, 4, 6, 9, 10, 12, 14, 16, 17, 19 } fmt.Println(numbers[4:9]) // Output: [10 12 14 16 17]

Extrae los elementos de los índices 4 a 9, incluyendo el elemento en el índice 4 y excluyendo el elemento en el índice 9, como se expresa en la sintaxis:

index.go

index.go

copy
1
arrayName[startingIndex:endingIndex + 1]

También podemos almacenar esta porción extraída del array en una variable, creando así un slice:

index.go

index.go

copy
123
var numbers = [10] int { 2, 4, 6, 9, 10, 12, 14, 16, 17, 19 } numbersPart := numbers[2:7] fmt.Println(numbersPart) // Output: [6 9 10 12 14]

Es importante tener en cuenta que una rebanada de este tipo hace referencia a la parte de la matriz a partir de la cual se creó. Por lo tanto, cualquier cambio que se realice en esa porción también afectará a la matriz original:

index.go

index.go

copy
12345678910111213
package main import "fmt" func main() { var pin = [4] int { 1, 2, 3, 4 } part := pin[1:3] fmt.Println(pin) // Output [1, 2, 3, 4] fmt.Println(part) // Output: [2, 3] part[0] *= 2 part[1] *= 3 fmt.Println(part) // Output [4, 9] fmt.Println(pin) // Output [1, 4, 9, 4] }
question mark

¿Cuál será la salida del siguiente código?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 3
some-alt