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

bookSlices

Los slices son similares a los arreglos, pero poseen longitudes dinámicas, lo que los convierte en una alternativa más flexible a los arreglos.

Para crear un slice, se utiliza la misma sintaxis que para los arreglos, pero en este caso, se omite la especificación del tamaño.

Creación de un slice utilizando la palabra clave var:

// Creates an empty slice with no elements
var sliceName [] dataType

// Creates a slice with the specified elements
var sliceName = [] dataType {element_1, element_2, ...}

Creación de un slice utilizando el operador :=:

// Creates a slice with the specified elements
sliceName := [] dataType { element_1, element_2, ... }

Se pueden agregar elementos adicionales a un slice utilizando la función append. La función append devuelve un nuevo slice con los elementos añadidos, que luego se puede almacenar en la variable original del slice. Esto será más claro con un ejemplo. La sintaxis básica de la función append es la siguiente:

append(originalSlice, newElement1, newElement2, …)

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]

De la misma manera que podemos acceder a los elementos dentro de un arreglo, también podemos referenciar porciones de un arreglo 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 es necesario proporcionar endingIndex + 1. Esto será 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 desde los índices 4 hasta 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 es posible almacenar esta porción extraída del arreglo 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 destacar que dicho slice hace referencia a la porción del arreglo desde la cual fue creado. Por lo tanto, cualquier cambio realizado en ese slice también afectará al arreglo 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

Suggested prompts:

Can you show an example of how to use the append function with slices?

How do I access or modify elements in a slice?

What happens if I append elements to a slice created from an array?

Awesome!

Completion rate improved to 1.96

bookSlices

Desliza para mostrar el menú

Los slices son similares a los arreglos, pero poseen longitudes dinámicas, lo que los convierte en una alternativa más flexible a los arreglos.

Para crear un slice, se utiliza la misma sintaxis que para los arreglos, pero en este caso, se omite la especificación del tamaño.

Creación de un slice utilizando la palabra clave var:

// Creates an empty slice with no elements
var sliceName [] dataType

// Creates a slice with the specified elements
var sliceName = [] dataType {element_1, element_2, ...}

Creación de un slice utilizando el operador :=:

// Creates a slice with the specified elements
sliceName := [] dataType { element_1, element_2, ... }

Se pueden agregar elementos adicionales a un slice utilizando la función append. La función append devuelve un nuevo slice con los elementos añadidos, que luego se puede almacenar en la variable original del slice. Esto será más claro con un ejemplo. La sintaxis básica de la función append es la siguiente:

append(originalSlice, newElement1, newElement2, …)

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]

De la misma manera que podemos acceder a los elementos dentro de un arreglo, también podemos referenciar porciones de un arreglo 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 es necesario proporcionar endingIndex + 1. Esto será 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 desde los índices 4 hasta 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 es posible almacenar esta porción extraída del arreglo 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 destacar que dicho slice hace referencia a la porción del arreglo desde la cual fue creado. Por lo tanto, cualquier cambio realizado en ese slice también afectará al arreglo 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