Ownership
Каждое значение в Rust имеет единственного владельца:
1let s1 = String::from("hello");2let s2 = s1; // s1 больше не действителен
Borrowing
1fn calculate_length(s: &String) -> usize {2 s.len()3}
Lifetime
1fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {2 if x.len() > y.len() { x } else { y }3}
Pattern Matching
1match value {2 1 => "one",3 2 => "two",4 _ => "other",5}
Async Rust
1async fn fetch_data() -> Result<String, Error> {2 let response = reqwest::get(url).await?;3 Ok(response.text().await?)4}
Заключение
Rust сочетает безопасность памяти и производительность. Он идеален для системного программирования и WebAssembly.
Изучите вопросы по Rust в нашем разделе.