Der Transferoperator
Verschieben Sie Werte mit dem ^-Symbol.
Der Transferoperator ist eine kostenlose Mojo Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Mojo Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Mojo Academy-Kurs umfasst insgesamt 4 Lektionen.
Verschieben statt kopieren
Die Übergabe an einen owned-Parameter erstellt normalerweise eine Kopie. Wenn Sie mit dem Original jedoch fertig sind, ist Kopieren unnötiger Aufwand. Sie können es stattdessen verschieben. 🚚
Den Transferoperator kennenlernen
MoJos Transferoperator ist das Zirkumflexzeichen ^. Sie setzen es hinter einen Wert, um dessen Eigentümerschaft zu übergeben, statt ihn zu duplizieren.
Verwendung in einem Aufruf
Fügen Sie beim Aufruf einer Funktion mit einem owned-Parameter ^ hinzu. Der Wert wird übertragen, und es wird keine Kopie erstellt.
var msg = String("hi")
consume(msg^)Das Original ist verschwunden
Nach einem Transfer ist die Quellvariable nicht mehr gültig. Mojo beendet ihre Lebensdauer, sodass Sie den verschobenen Wert nicht versehentlich verwenden können.
Der Compiler erzwingt dies
Versuchen Sie, eine Variable nach dem Verschieben zu lesen, weist der Compiler Ihren Code zurück. Diese Prüfung verhindert Use-after-Move-Fehler, bevor sie auftreten.
Warum Verschieben schneller ist
Beim Verschieben wird lediglich die Eigentümerschaft der vorhandenen Daten übertragen. Es gibt keine tiefe Kopie, was bei großen Zeichenfolgen, Listen oder Puffern besonders wichtig ist.
Kopieren oder verschieben – Sie entscheiden
Ohne ^ kopiert Mojo den Wert in einen owned-Parameter, mit ^ wird er verschoben. Sie entscheiden anhand der Frage, ob Sie das Original noch benötigen.
Transfer bei einer Zuweisung
Das Zirkumflexzeichen funktioniert auch zwischen Variablen. Wenn Sie mit ^ eine Variable aus einer anderen beschreiben, wird der Wert verschoben statt kopiert.
var a = String("data")
var b = a^ # a is now invalidPasst zu owned
Der Transferoperator ist der natürliche Partner von owned-Parametern. Zusammen drücken sie aus, dass ein Wert sauber und kostengünstig abgegeben wird.
Sicherheit und Geschwindigkeit
Verschiebungen bieten Ihnen die Effizienz von C, während der Compiler garantiert, dass Sie einen Wert nach seiner Übergabe nie wieder verwenden. Das ist sicher und schnell.
Das vollständige Bild der Eigentümerschaft
borrowed, inout, owned und der ^-Transfer ermöglichen Ihnen, genau zu steuern, wie Daten durch Ihr Programm fließen – ohne Überraschungen.
Kurze Überprüfung
Überprüfen wir, was der Operator ^ mit der Quelle macht.
Zusammenfassung
Der Transferoperator ^ verschiebt einen Wert, statt ihn zu kopieren, und beendet die Lebensdauer der Quelle. Zusammen mit owned macht er das Abgeben von Daten schnell und sicher. 🎯
Lerne Mojo mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 30
- Lektionen
- 120
Häufig gestellte Fragen
Ist die Lektion „Der Transferoperator“ kostenlos?
Ja — der vollständige Text von „Der Transferoperator“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Mojo Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Mojo Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Der Transferoperator“?
Verschieben Sie Werte mit dem ^-Symbol. Du übst Mojo Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Mojo Academy zu starten?
Keine Vorkenntnisse erforderlich. Mojo Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Der Transferoperator“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Mojo Academy-Lektion Code schreiben und ausführen?
Ja. Jede Mojo Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Argumente schreibgeschützt ausleihen
- Mit inout direkt mutieren
- Mit owned Besitz übernehmen
- Der Transferoperator