方法中的return只能返回乙個值,當我們需要方法返回多個值的時候,就需要借助out 和 ref 了。
方法引數前加out 和 ref,方法中引數的值發生變化後,主函式呼叫此方法的變數的值也同樣發生變化,其本質是變數位址的傳遞,如上圖。
值傳遞:相當與複製,方法中改變的只是復件的值(兩人一人乙份筆記,複製)
引用傳遞:相當於快捷方式,方法中的修改,快捷方式所指向的檔案內容同樣變化(兩個人同時做乙份筆記)
our和ref 區別:
1、out 用於往外傳值,先賦值再使用,方法中必須要先給變數賦值以後才能使用
2、ref 雙向,即可以接收主函式中的值又可以往外傳值,其本質是位址傳遞
Rust 引用 借用
二 rust借用 三 可變引用 四 懸垂引用 總結在rust 中的引用是什麼,引用有什麼用。這是我們下面的主題之一。先上 let r1 string from hello world 注意這裡沒有mut let r2 r1 注意這裡沒有mut這個 很神奇,這樣給 r2 賦值以後 不會產生 rust中...
Rust 引用與借用
我們的上一遍內容的 有這樣乙個問題 我們必須將string返回給呼叫函式,以便在呼叫calculatelen後仍能使用string,因為string被移動到了calculatelen內。下面是如何定義並使用乙個 新的 calculatelen函式,它以乙個物件的引用作為引數而不是獲取值的所有權 fu...
rust學習筆記 引用與借用
fn main is s1,len fn calculate length s string usize 上面的 中,calculate length s string 使用了string的引用傳遞引數,而沒有直接轉移值的所有權。在呼叫函式時也需要傳遞引數的引用。這些 代表的就是引用語義,它們允許你...