随笔分类 -  Rust

摘要:The following code has compiler error: fn jazz(years: &[i64]) -> Releases { let eighties: [i64] = &years[0..2]; let nineties: [i64] = &years[2..4]; Re 阅读全文
posted @ 2024-04-17 16:13 Zhentiw 阅读(6) 评论(0) 推荐(0) 编辑
摘要:struct VecMetadata { first_elem_index: usize, length: usize, capacity: usize } struct SliceMetadata { first_elem_index: usize, length: usize } Slice i 阅读全文
posted @ 2024-04-08 14:20 Zhentiw 阅读(3) 评论(0) 推荐(0) 编辑
摘要:The following code will have borrowing problem fn print_years(years: Vec<i32>) { for year in years.iter() { println!("Year: {}", year); } } // dealloc 阅读全文
posted @ 2024-04-08 01:24 Zhentiw 阅读(3) 评论(0) 推荐(0) 编辑
摘要:Mutate the Vec: fn vec_loop(mut v: Vec<i32>) -> Vec<i32> { for element in v.iter_mut() { // Fill this up so that each element in the Vec `v` is // mul 阅读全文
posted @ 2024-04-03 02:20 Zhentiw 阅读(6) 评论(0) 推荐(0) 编辑
摘要:Example 1: trait AppendBar { fn append_bar(self) -> Self; } impl AppendBar for String { fn append_bar(mut self) -> Self { self.push_str("Bar"); return 阅读全文
posted @ 2024-03-23 17:47 Zhentiw 阅读(5) 评论(0) 推荐(0) 编辑
摘要:Example 1: fn main() { let mut shopping_list: Vec<&str> = Vec::new(); shopping_list.push("milk"); } Example 2: struct Wrapper<T> { value: T, } impl<T> 阅读全文
posted @ 2024-03-23 17:18 Zhentiw 阅读(8) 评论(0) 推荐(0) 编辑
摘要:A baisc iter: #[test] fn main() { let my_fav_fruits = vec!["banana", "custard apple", "avocado", "peach", "raspberry"]; let mut my_iterable_fav_fruits 阅读全文
posted @ 2024-03-22 16:10 Zhentiw 阅读(12) 评论(0) 推荐(0) 编辑
摘要:use std::sync::mpsc; use std::thread; use std::time::Duration; fn main() { let (tx, rx) = mpsc::channel(); thread::spawn(move || { let vals = vec![ St 阅读全文
posted @ 2024-03-12 22:16 Zhentiw 阅读(4) 评论(0) 推荐(0) 编辑
摘要:A channel has two halves: a transmitter and a receiver. The transmitter half is the upstream location where you put rubber ducks into the river, and t 阅读全文
posted @ 2024-03-12 22:12 Zhentiw 阅读(3) 评论(0) 推荐(0) 编辑
摘要:Arc<T> is a type like Rc<T> that is safe to use in concurrent situations. The a stands for atomic, meaning it’s an atomically reference counted type. 阅读全文
posted @ 2024-03-12 16:05 Zhentiw 阅读(8) 评论(0) 推荐(0) 编辑
摘要:We ofter use movewith closures passed to thread::spawnbecase the closure will then take ownership of the values it uses from the environment, thus tra 阅读全文
posted @ 2024-03-12 15:34 Zhentiw 阅读(4) 评论(0) 推荐(0) 编辑
摘要:Code from previous blog: use std::thread; use std::time::Duration; fn main() { thread::spawn(|| { for i in 1..10 { println!("hi number {} from the spa 阅读全文
posted @ 2024-03-08 20:49 Zhentiw 阅读(8) 评论(0) 推荐(0) 编辑
摘要:We use spawnto create a new thread: use std::thread; use std::time::Duration; fn main() { thread::spawn(|| { for i in 1..10 { println!("hi number {} f 阅读全文
posted @ 2024-03-08 20:34 Zhentiw 阅读(8) 评论(0) 推荐(0) 编辑
摘要:https://doc.rust-lang.org/std/keyword.ref.html struct Point { x: i32, y: i32, } fn main() { let y: Option<Point> = Some(Point { x: 100, y: 200 }); mat 阅读全文
posted @ 2024-03-04 21:57 Zhentiw 阅读(4) 评论(0) 推荐(0) 编辑
摘要:https://doc.rust-lang.org/rust-by-example/flow_control/if_let.htmlhttps://doc.rust-lang.org/rust-by-example/flow_control/while_let.html If let: #[test 阅读全文
posted @ 2024-03-04 21:53 Zhentiw 阅读(16) 评论(0) 推荐(0) 编辑
摘要:// Using catch-all error types like `Box<dyn error::Error>` isn't recommended // for library code, where callers might want to make decisions based on 阅读全文
posted @ 2024-03-04 21:28 Zhentiw 阅读(10) 评论(0) 推荐(0) 编辑
摘要:use std::error; use std::fmt; use std::num::ParseIntError; fn main() -> Result<(), Box<dyn error::Error>> { let pretend_user_input = "42"; let x: i64 阅读全文
posted @ 2024-03-04 21:15 Zhentiw 阅读(11) 评论(0) 推荐(0) 编辑
摘要:#[derive(PartialEq, Debug)] enum CreationError { Negative, Zero, } #[derive(PartialEq, Debug)] struct PositiveNonzeroInteger(u64); impl PositiveNonzer 阅读全文
posted @ 2024-03-01 16:14 Zhentiw 阅读(5) 评论(0) 推荐(0) 编辑
摘要:use std::num::ParseIntError; fn main() -> Result<(), ParseIntError> { let mut token = 100; let pretend_user_input = "8"; let cost = total_cost(pretend 阅读全文
posted @ 2024-03-01 16:08 Zhentiw 阅读(1) 评论(0) 推荐(0) 编辑
摘要:pub fn generate_nametag_text(name: String) -> Result<String, String> { if name.is_empty() { // Empty names aren't allowed. Err(String::from("`name` wa 阅读全文
posted @ 2024-03-01 15:49 Zhentiw 阅读(17) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示