rust一些筆記

#[cfg(bar)] :這個是條件編譯的方式。閉包



在rust裏面你想查看某個變量的值,但你不知道他是什麼屬性或者包含哪些屬性。函數

能夠在你定義的struts上加上這行的註解。this

#[derive(Debug)],而後經過println!("{:?}",你定義struts的變量名);進行輸出。code

若是是引入的模塊crate定義的struts,就在extern crate  上一行加這個註釋。生命週期

if it is defined in your crate, add `#[derive(Debug)]` or manually implement it

match value {編譯器

    ref val => println!("this is a ref value");
it

}編譯

val 是value所產生出來的ref值。class


rust閉包問題變量

若是閉包使用了外部變量a,至關於borrow了外部變量,並會一直持有該borrow直到該閉包的生命週期結束爲止。ps:若是持有的mut borrow外部變量,意味着在該閉包生命週期的時間裏,其餘地方不能borrow a變量了。


若是閉包有mut 變量的話,那麼閉包也必定是用mut修飾符。


 1 基本解釋:extern能夠置於變量或者函數前,以標示變量或者函數的定義在別的文件中,提示編譯器遇到此變量和函數時在其餘模塊中尋找其定義。 

相關文章
相關標籤/搜索