Copiar Slices
Parte de la sección Fundamentos del Journey de GO de Coddy. Lección 82 de 109.
La función copy de Go te permite copiar elementos de un segmento a otro.
Crea un segmento de origen y un segmento de destino:
source := []int{1, 2, 3}
dest := make([]int, 2) // Destino de longitud 2
// Copia de source a dest
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 segmento de destino, y nunca más de los que haya en el origen: copia la menor de las dos longitudes. Si el origen es más corto, los elementos restantes del destino quedan sin cambios.
Desafío
PrincipianteEn este desafío, practicarás el uso de la función copy para copiar elementos de una slice a otra.
Tienes dos slices: source, que contiene nombres de frutas, y destination, una slice de longitud 3 creada con make([]string, 3). Tu tarea es copiar los elementos de source a destination usando la función copy.
Después de copiar, imprime el contenido de la slice destination.
Pruébalo tú mismo
package main
import "fmt"
func main() {
// Slice de origen con nombres de frutas
source := []string{"apple", "banana", "cherry", "date"}
// Crea un slice de destino con capacidad para 3 elementos
destination := make([]string, 3)
// TODO: Usa la función copy para copiar elementos de source a destination
// Imprime 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 decisionesPractica por tu cuenta: Compilador de Go online