Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Заимствование в функциях

При анализе заимствований компилятору нужно понимать, как заимствования передаются в функции и из них. В простейшем случае заимствования существуют в течение вызова функции:

// Copyright 2025 Google LLC
// SPDX-License-Identifier: Apache-2.0

fn borrows(x: &i32) {
    dbg!(x);
}

fn main() {
    let mut val = 123;

    // Заимствуем `val` на время вызова функции.
    borrows(&val);

    // Заимствование закончилось, и можно изменять значение.
    val += 5;
}
This slide should take about 3 minutes.
  • В этом примере мы заимствуем val для вызова borrows. Это ограничивает нашу возможность изменять val, но как только вызов функции возвращается, заимствование заканчивается и мы снова свободны изменять значение.