Rebanadas
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
1234randomNumbers := [] 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
1arrayName[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
12var 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
1arrayName[startingIndex:endingIndex + 1]
También podemos almacenar esta porción extraída del array en una variable, creando así un slice:
index.go
123var 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
12345678910111213package 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] }
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 1.96
Rebanadas
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
1234randomNumbers := [] 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
1arrayName[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
12var 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
1arrayName[startingIndex:endingIndex + 1]
También podemos almacenar esta porción extraída del array en una variable, creando así un slice:
index.go
123var 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
12345678910111213package 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] }
¡Gracias por tus comentarios!