Copiar Slices
Parte de la sección Fundamentos del Journey de GO de Coddy — lección 82 de 109.
La función copy en Go te permite copiar elementos de un slice a otro.
Crea un slice de origen y un slice de destino:
source := []int{1, 2, 3}
dest := make([]int, 2) // Destino con longitud 2
// Copiar del origen al destino
copied := copy(dest, source)
fmt.Println("Source:", source)
fmt.Println("Destination:", dest)
fmt.Println("Number of elements copied:", copied)Resultado:
Source: [1 2 3]
Destination: [1 2]
Number of elements copied: 2La función copy copia solo tantos elementos como quepan en el slice de destino.
Desafío
PrincipianteEn este desafío, practicarás el uso de la función copy para copiar elementos de un slice a otro.
Tienes dos slices: source que contiene nombres de frutas y destination que es un slice vacío con capacidad para 3 elementos. Tu tarea es copiar los elementos de source a destination utilizando la función copy.
Después de copiar, imprime el contenido del slice destination.
Hoja de referencia
La función copy copia elementos de un slice a otro:
source := []int{1, 2, 3}
dest := make([]int, 2) // Destino con longitud 2
// Copiar de origen a destino
copied := copy(dest, source)
fmt.Println("Source:", source)
fmt.Println("Destination:", dest)
fmt.Println("Number of elements copied:", copied)La función copy copia solo tantos elementos como quepan en el slice de destino y devuelve el número de elementos copiados.
Pruébalo tú mismo
package main
import "fmt"
func main() {
// Slice de origen con nombres de frutas
source := []string{"apple", "banana", "cherry", "date"}
// Crear un slice de destino con capacidad para 3 elementos
destination := make([]string, 3)
// TODO: Usar la función copy para copiar elementos del origen al destino
// Imprimir el slice de destino
fmt.Println("Destination slice:", destination)
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores de comparación y lógicos
Operadores de comparación - Parte 1Operadores de comparación - Parte 2Operador lógico ANDOperador lógico OROperador lógico NOTConceptos básicos de precedencia de operadoresResumen: Realizar comparaciones7Flujo de control: Bucles
Explicación del bucle `for`Bucle `for` - BásicoBucle `for` - Solo condiciónLa palabra clave `break`La palabra clave `continue`Bucles anidadosResumen - Repetición de acciones2Variables y tipos de datos básicos
¿Qué es una variable?Inferencia de tipos con `:=`Enteros (int)Números de punto flotanteBooleanosStringsValores ceroConstantesConvenciones de nomenclaturaResumen - Variables y tipos5Entrada y salida básica
Salida con formatoVerbos de formatoImpresión de tiposObtener entrada básica del usuarioResumen: Entrada y salida8Funciones
Comprendiendo las funcionesDeclaración de una funciónLlamada a funcionesParámetros de funciónRetorno de un solo valorRetorno de múltiples valoresValores de retorno con nombreConceptos básicos del alcance de las funcionesResumen: Creando código reutilizable3Operadores básicos
Operadores aritméticosOperador de divisiónEl operador móduloOperador de asignaciónOperadores de asignación compuestaIncremento y decrementoResumen - Cálculos6Flujo de control: Condicionales
La sentencia `if`La palabra clave `else`La palabra clave `else if`Sombreado de variables en `if`Inicialización de variablesLa sentencia `switch``switch` con expresiones`switch` sin expresiónLa palabra clave `fallthrough`Resumen: Toma de decisiones