Copie de Slices
Fait partie de la section Fondamentaux du Journey GO de Coddy — leçon 82 sur 109.
La fonction copy en Go vous permet de copier des éléments d'une slice à une autre.
Créez une slice source et une slice de destination :
source := []int{1, 2, 3}
dest := make([]int, 2) // Destination avec une longueur de 2
// Copie de la source vers la destination
copied := copy(dest, source)
fmt.Println("Source:", source)
fmt.Println("Destination:", dest)
fmt.Println("Number of elements copied:", copied)Résultat :
Source: [1 2 3]
Destination: [1 2]
Number of elements copied: 2La fonction copy copie seulement autant d'éléments qu'il peut en tenir dans la tranche de destination.
Défi
DébutantDans ce défi, vous allez vous entraîner à utiliser la fonction copy pour copier des éléments d'un slice vers un autre.
Vous avez deux slices : source contenant des noms de fruits et destination qui est un slice vide avec une capacité de 3 éléments. Votre tâche consiste à copier les éléments de source vers destination en utilisant la fonction copy.
Après la copie, affichez le contenu du slice destination.
Aide-mémoire
La fonction copy copie les éléments d'une tranche (slice) vers une autre :
source := []int{1, 2, 3}
dest := make([]int, 2) // Destination avec une longueur de 2
// Copier de la source vers la destination
copied := copy(dest, source)
fmt.Println("Source:", source)
fmt.Println("Destination:", dest)
fmt.Println("Number of elements copied:", copied)La fonction copy ne copie que le nombre d'éléments pouvant tenir dans la tranche de destination et renvoie le nombre d'éléments copiés.
Essayez vous-même
package main
import "fmt"
func main() {
// Tranche source avec des noms de fruits
source := []string{"apple", "banana", "cherry", "date"}
// Créer une tranche de destination avec une capacité de 3 éléments
destination := make([]string, 3)
// TODO: Utiliser la fonction copy pour copier les éléments de la source vers la destination
// Afficher la tranche de destination
fmt.Println("Destination slice:", destination)
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs de comparaison et logiques
Opérateurs de comparaison - Partie 1Opérateurs de comparaison - Partie 2Opérateur logique ANDOpérateur logique OROpérateur logique NOTBases de la priorité des opérateursRécapitulatif - Effectuer des comparaisons7Structures de contrôle : Les boucles
Explication de la boucle `for`Boucle For - Les basesBoucle For - Condition uniquementLe mot-clé `break`Le mot-clé `continue`Boucles imbriquéesRécapitulatif - Répéter des actions2Variables et types de données de base
Qu'est-ce qu'une variableInférence de type avec `:=` Entiers (int)Nombres à virgule flottanteBooléensChaînes de caractères (Strings)Valeurs zéroConstantesConventions de nommageRécapitulatif - Variables et types5Entrées/Sorties de base
Sortie formatéeVerbes de formatageAffichage des typesSaisie utilisateur de baseRécapitulatif - Entrées et Sorties8Fonctions
Comprendre les fonctionsDéclarer une fonctionAppeler des fonctionsParamètres de fonctionRetourner une valeur uniqueRetourner plusieurs valeursValeurs de retour nomméesBases de la portée des fonctionsRécapitulatif - Créer du code réutilisable11Types composites : Slices
Introduction aux SlicesDéclaration de littéraux de SlicesCréation de Slices avec `make`Longueur vs Capacité des SlicesAccès aux éléments d'un SliceAjout d'élémentsDécoupage de Slices/Tableaux existantsItération sur les SlicesCopie de SlicesRécapitulatif - Listes dynamiques3Opérateurs de base
Opérateurs arithmétiquesOpérateur de divisionL'opérateur moduloOpérateur d'affectationOpérateurs d'affectation augmentéeIncrémentation et décrémentationRécapitulatif - Calculs6Structure de contrôle : Les conditionnelles
L'instruction `if`Le mot-clé `else`Le mot-clé `else if`Masquage de variable dans `if`Initialisation des variablesL'instruction `switch``switch` avec expressions`switch` sans expressionLe mot-clé `fallthrough`Récapitulatif - Prendre des décisions9Pointeurs
Qu'est-ce qu'un pointeur ?Déclaration de variables pointeursL'opérateur d'adresseDéréférencement de pointeursUtiliser des pointeurs dans les fonctionsPointeurs NilRécapitulatif - Comprendre les pointeurs12Types composites : Maps
Introduction aux MapsDéclaration de littéraux de MapCréation de Maps avec `make`Ajout et mise à jour de paires clé-valeurAccès aux valeurs d'une MapVérification de l'existence d'une cléSuppression d'entrées de MapTaille d'une MapItération sur les MapsRécapitulatif - Stockage clé-valeur