Einführung
In diesem Lab wird das Konzept des Freezens als der Zustand erklärt, in dem Daten unveränderlich mit dem gleichen Namen gebunden sind, sodass sie nicht geändert werden können, bis die unveränderliche Bindung außer Geltungsbereich geht.
Hinweis: Wenn das Lab keinen Dateinamen angibt, können Sie einen beliebigen Dateinamen verwenden. Beispielsweise können Sie
main.rsverwenden und es mitrustc main.rs &&./mainkompilieren und ausführen.
Freezing
Wenn Daten unveränderlich mit dem gleichen Namen gebunden werden, werden sie auch gefroren. Gefrorene Daten können nicht geändert werden, bis die unveränderliche Bindung außer Geltungsbereich geht:
fn main() {
let mut _mutable_integer = 7i32;
{
// Shadowing durch unveränderliche `_mutable_integer`
let _mutable_integer = _mutable_integer;
// Fehler! `_mutable_integer` ist in diesem Bereich gefroren
_mutable_integer = 50;
// FIXME ^ Kommentieren Sie diese Zeile aus
// `_mutable_integer` geht außer Geltungsbereich
}
// Ok! `_mutable_integer` ist in diesem Bereich nicht gefroren
_mutable_integer = 3;
}
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Freezing-Lab abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.