L’opérateur de transfert
Déplacez des valeurs avec le symbole ^.
L’opérateur de transfert est une leçon Mojo Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Mojo Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Mojo Academy comprend 4 leçons au total.
Déplacer plutôt que copier
Transmettre une valeur à un paramètre owned crée généralement une copie. Mais si vous avez terminé avec l’original, le copier est inutile. Vous pouvez plutôt le déplacer. 🚚
Découvrez l’opérateur de transfert
L’opérateur de transfert de Mojo est le symbole caret ^. Vous le placez après une valeur pour en transférer la propriété au lieu de la dupliquer.
L’utiliser lors d’un appel
Ajoutez ^ lorsque vous appelez une fonction avec un paramètre owned. La valeur est alors transférée, sans qu’aucune copie ne soit créée.
var msg = String("hi")
consume(msg^)L’original disparaît
Après un transfert, la variable source n’est plus valide. Mojo met fin à sa durée de vie, ce qui vous empêche d’utiliser accidentellement la valeur déplacée.
Le compilateur l’impose
Essayez de lire une variable après l’avoir déplacée : le compilateur rejettera votre code. Cette vérification empêche les erreurs d’utilisation après déplacement avant l’exécution.
Pourquoi le déplacement est plus rapide
Un déplacement transfère simplement la propriété des données existantes. Il n’y a pas de copie profonde, ce qui compte beaucoup pour les grandes chaînes, listes ou tampons.
Copier ou déplacer : à vous de choisir
Sans ^, Mojo copie la valeur dans un paramètre owned ; avec ^, il la déplace. Vous choisissez selon que vous avez encore besoin de l’original ou non.
Transfert lors d’une affectation
Le caret fonctionne également entre variables. Écrire une variable à partir d’une autre avec ^ déplace la valeur au lieu de la copier.
var a = String("data")
var b = a^ # a is now invalidVa de pair avec owned
L’opérateur de transfert est le partenaire naturel des paramètres owned. Ensemble, ils expriment le fait de céder une valeur simplement et à faible coût.
Sécurité et rapidité
Les déplacements vous offrent une efficacité comparable à celle du C, tandis que le compilateur garantit que vous ne toucherez jamais une valeur après l’avoir transmise. C’est sûr et rapide.
La propriété sous tous ses angles
borrowed, inout, owned et le transfert ^ vous permettent de contrôler précisément la façon dont les données circulent dans votre programme, sans surprise.
Vérification rapide
Vérifions ce que l’opérateur ^ fait subir à la source.
Récapitulatif
L’opérateur de transfert ^ déplace une valeur au lieu de la copier, mettant fin à la durée de vie de la source. Associé à owned, il permet de céder des données rapidement et en toute sécurité. 🎯
Apprends Mojo avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 30
- Leçons
- 120
Questions Fréquemment Posées
La leçon « L’opérateur de transfert » est-elle gratuite ?
Oui — le texte complet de « L’opérateur de transfert » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Mojo Academy, passe à CoddyKit PRO. Le cours Mojo Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « L’opérateur de transfert » ?
Déplacez des valeurs avec le symbole ^. Tu pratiques Mojo Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Mojo Academy ?
Aucune expérience préalable n'est requise. Mojo Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « L’opérateur de transfert » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Mojo Academy ?
Oui. Chaque leçon Mojo Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Emprunter des arguments en lecture seule
- Modifier sur place avec inout
- Prendre possession avec owned
- L’opérateur de transfert