Choisir les receveurs
Fait partie de la section Logique & Flux du Journey GO de Coddy — leçon 9 sur 68.
Maintenant que vous comprenez les récepteurs de valeur et de pointeur, la question clé est la suivante : quand devriez-vous utiliser l'un ou l'autre ? La décision dépend de ce que votre méthode doit faire avec le récepteur.
Utilisez un receveur de pointeur lorsque votre méthode doit modifier la structure (struct) d'origine. Puisque les receveurs de pointeurs travaillent avec l'instance réelle de la structure, toutes les modifications effectuées à l'intérieur de la méthode persisteront après le retour de la méthode. Ceci est essentiel pour les méthodes qui mettent à jour des champs, changent d'état ou effectuent des opérations qui doivent affecter les données d'origine.
Utilisez un récepteur de valeur lorsque votre méthode a seulement besoin de lire les données de la struct sans la modifier. Les récepteurs de valeur travaillent avec une copie, ils sont donc parfaits pour les méthodes qui calculent des valeurs, formatent la sortie ou effectuent toute opération ne nécessitant pas la modification de la struct originale. Ils offrent également une sécurité en garantissant que les données originales restent inchangées.
En règle générale : si votre méthode modifie la struct, utilisez un pointer receiver. Si votre méthode ne fait que lire la struct, utilisez un value receiver. Cette approche rend les intentions de votre code claires et aide à prévenir les modifications involontaires de vos données.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Aide-mémoire
Utilisez un receveur par pointeur lorsque votre méthode doit modifier la structure originale :
- Les modifications effectuées à l'intérieur de la méthode persisteront après le retour de la méthode
- Essentiel pour les méthodes qui mettent à jour des champs ou changent d'état
Utilisez un receveur par valeur lorsque votre méthode a seulement besoin de lire des données de la structure :
- Fonctionne avec une copie, les données originales restent donc inchangées
- Parfait pour les méthodes qui calculent des valeurs ou formatent la sortie
- Offre une sécurité en garantissant l'absence de modifications involontaires
Règle générale : Si votre méthode modifie la structure, utilisez un receveur par pointeur. Si votre méthode ne fait que lire la structure, utilisez un receveur par valeur.
Essayez vous-même
Cette leçon ne comprend pas de défi de code.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique & Flux
1Structures de contrôle avancées
Switch avec `fallthrough`Sortir de boucles imbriquéesContinuer une boucle spécifiqueL'instruction `goto`Récapitulatif - Contrôle de boucle avancé4Projet : Liste de tâches simple
Configuration du projetAjouter une tâche2Structures et Méthodes
Définir des méthodes sur des structuresReceveurs par valeurReceveurs par pointeurChoisir les receveursMéthodes vs FonctionsRécapitulatif - Comportement des structures5Les Maps en profondeur
Maps de StructsPointeurs comme valeurs de MapTester les Maps NilComparer des MapsRécapitulatif - Compteur de fréquence de mots3Interfaces (Les bases)
Qu'est-ce qu'une Interface ?Définir une InterfaceImplémenter une InterfaceUtiliser les types d'InterfaceInterface videAssertions de typeType SwitchRécapitulatif - Formes et comportements