12 2021 档案

摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/compatibility/raw_identifiers.html 示例 原始标识符可以避免由于新增加关键字导致的不兼容问题,使用 阅读全文
posted @ 2021-12-29 15:15 jiangbo4444 阅读(117) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/std/str.html 示例 转义 fn main() { let byte_escape = "I'm writing \x52\x75\x7 阅读全文
posted @ 2021-12-29 15:14 jiangbo4444 阅读(2033) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/std/str.html 示例 在字符串前加上一个 b 来表示。 main.rs use std::str; fn main() { let by 阅读全文
posted @ 2021-12-29 15:13 jiangbo4444 阅读(1037) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/testing/dev_dependencies.html 示例 main.rs #[cfg(test)] #[macro_use] 阅读全文
posted @ 2021-12-29 15:12 jiangbo4444 阅读(124) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/unsafe.html 示例 原始指针 fn main() { let raw_p: *const u32 = &10; unsaf 阅读全文
posted @ 2021-12-29 15:12 jiangbo4444 阅读(52) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/testing/integration_testing.html 示例 Cargo.toml [package] name = "a 阅读全文
posted @ 2021-12-29 15:11 jiangbo4444 阅读(119) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/testing/doc_testing.html 示例 main.rs /// /// ``` /// # fn foo() {} 阅读全文
posted @ 2021-12-29 11:06 jiangbo4444 阅读(94) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/testing/unit_testing.html 示例 测试相等 pub fn add(a: i32, b: i32) -> i3 阅读全文
posted @ 2021-12-29 11:05 jiangbo4444 阅读(270) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 Windows 7 mingw64 7.3.0 概念 参考:https://stackoverflow.com/questions/40833078/how-do-i-specify-the-linker-path-in-rust 示例 Ca 阅读全文
posted @ 2021-12-29 11:04 jiangbo4444 阅读(189) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/std_misc/fs.html 示例 创建文件夹 use std::fs; fn main() { println!("`mkdi 阅读全文
posted @ 2021-12-29 11:02 jiangbo4444 阅读(234) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/std_misc/process.html 示例 执行命令 use std::process::Command; fn main() 阅读全文
posted @ 2021-12-29 11:00 jiangbo4444 阅读(393) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/std_misc/process/pipe.html 示例 main.rs use std::{ io::{Read, Write} 阅读全文
posted @ 2021-12-29 11:00 jiangbo4444 阅读(282) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/std_misc/file/read_lines.html 示例 main.rs use std::fs::File; use st 阅读全文
posted @ 2021-12-29 10:58 jiangbo4444 阅读(448) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/std_misc/file/create.html 示例 main.rs static LOREM_IPSUM: &str = "L 阅读全文
posted @ 2021-12-29 10:57 jiangbo4444 阅读(307) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/std_misc/file/open.html 示例 main.rs use std::fs::File; use std::io: 阅读全文
posted @ 2021-12-29 10:56 jiangbo4444 阅读(183) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/std_misc/path.html 示例 main.rs use std::path::Path; fn main() { let 阅读全文
posted @ 2021-12-29 10:55 jiangbo4444 阅读(137) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/std_misc/channels.html 示例 main.rs use std::sync::mpsc; use std::th 阅读全文
posted @ 2021-12-29 10:54 jiangbo4444 阅读(86) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/std_misc/threads/testcase_mapreduce.html 示例 main.rs use std::threa 阅读全文
posted @ 2021-12-29 10:53 jiangbo4444 阅读(62) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/std_misc/threads.html 示例 main.rs use std::thread; const N_THREADS: 阅读全文
posted @ 2021-12-29 10:52 jiangbo4444 阅读(88) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/std/arc.html 示例 main.rs fn main() { use std::sync::Arc; use std::t 阅读全文
posted @ 2021-12-29 10:50 jiangbo4444 阅读(71) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/std/rc.html 示例 rust 使用 Rc 来实现引用计数。 main.rs use std::rc::Rc; fn mai 阅读全文
posted @ 2021-12-29 10:49 jiangbo4444 阅读(134) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/std/hash/hashset.html 示例 main.rs use std::collections::HashSet; fn 阅读全文
posted @ 2021-12-29 10:48 jiangbo4444 阅读(555) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/std/hash/alt_key_types.html 示例 main.rs use std::collections::HashM 阅读全文
posted @ 2021-12-29 10:47 jiangbo4444 阅读(124) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/std/hash.html 示例 HashMap 和其它语言类型,存储键值对。 main.rs use std::collectio 阅读全文
posted @ 2021-12-29 10:40 jiangbo4444 阅读(236) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/std/panic.html 示例 在发生恐慌的时候,也可以保证分配的内存被释放。 main.rs fn division(divi 阅读全文
posted @ 2021-12-29 10:39 jiangbo4444 阅读(98) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/std/result/question_mark.html 示例 main.rs mod checked { #[derive(De 阅读全文
posted @ 2021-12-29 10:38 jiangbo4444 阅读(221) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/std/option.html 示例 main.rs fn checked_division(dividend: i32, divi 阅读全文
posted @ 2021-12-29 10:37 jiangbo4444 阅读(163) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/std/result.html 示例 main.rs mod checked { #[derive(Debug)] pub enum 阅读全文
posted @ 2021-12-29 10:37 jiangbo4444 阅读(80) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/std/str.html 示例 rust 中有两种字符串,一种是分配在堆上的 String,另一种是字符串切片(&str)。 main.rs fn 阅读全文
posted @ 2021-12-29 10:36 jiangbo4444 阅读(258) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/std/vec.html 示例 可变数组(Vector)存储在堆上和普通数组的区别是长度可变。 main.rs fn main() { let c 阅读全文
posted @ 2021-12-29 10:34 jiangbo4444 阅读(572) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/std/box.html 示例 默认情况下,rust 一般都是在栈上进行内存分配,如果想在堆上分配内存,需要使用 Box<T>。 m 阅读全文
posted @ 2021-12-29 10:32 jiangbo4444 阅读(398) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/error/iter_result.html 示例 整个迭代失败 fn main() { let strings = vec!["tofu", " 阅读全文
posted @ 2021-12-24 15:54 jiangbo4444 阅读(45) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/error/iter_result.html 示例 包含错误值 fn main() { let strings = vec!["tofu", "9 阅读全文
posted @ 2021-12-24 15:53 jiangbo4444 阅读(49) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/error/multiple_error_types/wrap_error.html 示例 main.rs use std::error; use 阅读全文
posted @ 2021-12-24 15:51 jiangbo4444 阅读(70) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/error/multiple_error_types/reenter_question_mark.html 示例 main.rs use std: 阅读全文
posted @ 2021-12-24 15:50 jiangbo4444 阅读(787) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/error/multiple_error_types/boxing_errors.html 示例 main.rs use std::error; 阅读全文
posted @ 2021-12-24 15:49 jiangbo4444 阅读(331) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/error/multiple_error_types/define_error_type.html 示例 main.rs type Result< 阅读全文
posted @ 2021-12-24 15:48 jiangbo4444 阅读(96) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/error/multiple_error_types/option_result.html 示例 返回 Option use std 阅读全文
posted @ 2021-12-24 15:47 jiangbo4444 阅读(54) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/error/multiple_error_types.html 示例 main.rs fn double_first(vec: Vec<&str> 阅读全文
posted @ 2021-12-24 15:11 jiangbo4444 阅读(111) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/error/result/enter_question_mark.html 示例 如果想得到值而不产生恐慌,有一种简单的方式,那就是使用问号。 m 阅读全文
posted @ 2021-12-24 15:10 jiangbo4444 阅读(212) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/error/result/early_returns.html 示例 main.rs use std::num::ParseIntError; f 阅读全文
posted @ 2021-12-24 15:09 jiangbo4444 阅读(140) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/error/result/result_alias.html 示例 main.rs use std::num::ParseIntError; // 阅读全文
posted @ 2021-12-24 15:08 jiangbo4444 阅读(93) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/error/result/result_map.html 示例 Result 的 map 方法可以对值进行转换。 繁琐版本 use std::nu 阅读全文
posted @ 2021-12-24 15:07 jiangbo4444 阅读(280) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/error/result.html 示例 Result 和 Option 有点类似,不过它代表可能失败,而不是可能不存在。 恐慌 fn multi 阅读全文
posted @ 2021-12-24 15:06 jiangbo4444 阅读(230) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/error/option_unwrap/and_then.html 示例 main.rs #![allow(dead_code)] #[deriv 阅读全文
posted @ 2021-12-24 15:04 jiangbo4444 阅读(102) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/error/option_unwrap/map.html 示例 Option 有个 map 方法,可以进行值的映射,或者说转换。 main.rs 阅读全文
posted @ 2021-12-24 15:03 jiangbo4444 阅读(322) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/error/option_unwrap/question_mark.html 示例 使用问号进行展开,具有更好的可读性。 main.rs stru 阅读全文
posted @ 2021-12-24 15:02 jiangbo4444 阅读(225) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/error/option_unwrap.html 示例 除了使用恐慌,还可以使用可选(Option)来处理一些意外情况。 main.rs fn g 阅读全文
posted @ 2021-12-24 15:01 jiangbo4444 阅读(303) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/error/panic.html 示例 恐慌(panic)和其它语言中的异常和错误类似,一般针对不可处理的错误。如果没有经过处理,就会直接退出程序 阅读全文
posted @ 2021-12-24 14:59 jiangbo4444 阅读(53) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/macros/variadics.html 示例 main.rs macro_rules! calculate { (eval $e:expr) 阅读全文
posted @ 2021-12-24 14:57 jiangbo4444 阅读(468) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/macros/dsl.html 示例 DSL 表示 Domain Specific Language,领域特定语言。 main.rs macro_ 阅读全文
posted @ 2021-12-24 14:55 jiangbo4444 阅读(149) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/macros/dry.html 示例 DRY 表示 Don't Repeat Yourself,不要重复你自己,意思是尽量不要写重复的代码。 ma 阅读全文
posted @ 2021-12-24 14:53 jiangbo4444 阅读(138) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/macros/repeat.html 示例 使用星号表示零到多次,使用加号表示一到多次。 main.rs macro_rules! find_mi 阅读全文
posted @ 2021-12-24 14:52 jiangbo4444 阅读(132) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/macros/overload.html 示例 main.rs macro_rules! test { ($left:expr ;and $rig 阅读全文
posted @ 2021-12-24 14:51 jiangbo4444 阅读(75) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/macros/designators.html 示例 以下是可以使用的标志符: block expr 表达式 ident 变量名或函数名 item 阅读全文
posted @ 2021-12-24 14:50 jiangbo4444 阅读(181) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/macros.html 示例 宏和函数有点像,不过是以叹号结尾的,经常使用的 println! 就是一个宏。宏不是函数调用,而是直接展开到代码中。 阅读全文
posted @ 2021-12-24 14:48 jiangbo4444 阅读(194) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/trait/disambiguating.html 示例 如果有两个同名的方法,这时调用的时候,需要使用指定调用的类型。 静态返回 trait U 阅读全文
posted @ 2021-12-24 14:45 jiangbo4444 阅读(62) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/trait/supertraits.html 示例 类似其它语言中的接口继承。 main.rs trait Person { fn name(&s 阅读全文
posted @ 2021-12-24 14:44 jiangbo4444 阅读(126) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/trait/clone.html 示例 main.rs #[derive(Debug, Clone, Copy)] struct Unit; #[ 阅读全文
posted @ 2021-12-24 14:42 jiangbo4444 阅读(95) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/trait/impl_trait.html 示例 静态返回 fn combine_vecs(v: Vec<i32>, u: Vec<i32>) - 阅读全文
posted @ 2021-12-24 11:27 jiangbo4444 阅读(67) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/trait/iter.html 示例 区间手动迭代 fn main() { // `0..3` is an `Iterator` that gen 阅读全文
posted @ 2021-12-24 11:26 jiangbo4444 阅读(57) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/trait/drop.html 示例 Drop trait 可以实现删除或者说释放资源的目的。 main.rs struct Droppable 阅读全文
posted @ 2021-12-23 18:14 jiangbo4444 阅读(77) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/trait/dyn.html 示例 由于 rust 在编译时需要知道占用多少栈空间,所以不能直接返回一个 trait,因为不同的 trait 实现 阅读全文
posted @ 2021-12-23 18:13 jiangbo4444 阅读(200) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/trait/ops.html 示例 在 rust 中,运算符可以通过实现 trait 来进行重载,可以重载的运算符参考:https://doc.r 阅读全文
posted @ 2021-12-23 18:13 jiangbo4444 阅读(474) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/trait/derive.html 示例 编译器可以通过 #[derive] 属性提供派生(自动实现)功能,以下 trait 支持派生: 比较 t 阅读全文
posted @ 2021-12-23 18:12 jiangbo4444 阅读(171) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/trait.html 示例 trait 一般翻译成特质,之后的内容不翻译,类似其它语言中的接口。 main.rs struct Sheep { n 阅读全文
posted @ 2021-12-23 18:11 jiangbo4444 阅读(84) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/generics/assoc_items/the_problem.html 示例 在使用泛型的过程中,有时候可能会觉得不方便,以下是 阅读全文
posted @ 2021-12-23 18:10 jiangbo4444 阅读(62) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/scope/lifetime/elision.html 示例 在大多数的情况下,编译器可以推断出生存期,所以我们可以省略生存期标注。 main.r 阅读全文
posted @ 2021-12-23 17:59 jiangbo4444 阅读(49) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/scope/lifetime/static_lifetime.html 示例 静态生存期使用 ‘static 表示, main.rs // 静态生 阅读全文
posted @ 2021-12-23 17:58 jiangbo4444 阅读(60) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/scope/lifetime/lifetime_coercion.html 示例 main.rs // Rust 自动推导了生存期,两个参数都被申 阅读全文
posted @ 2021-12-23 17:57 jiangbo4444 阅读(61) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/scope/lifetime/lifetime_bounds.html 示例 main.rs use std::fmt::Debug; // 包含 阅读全文
posted @ 2021-12-23 17:56 jiangbo4444 阅读(50) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/lifetime/trait.html 示例 main.rs #[derive(Debug)] struct Borro 阅读全文
posted @ 2021-12-17 20:45 jiangbo4444 阅读(54) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/lifetime/struct.html 示例 main.rs #[derive(Debug)] struct Borr 阅读全文
posted @ 2021-12-17 20:44 jiangbo4444 阅读(49) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/lifetime/methods.html 示例 main.rs struct Owner(i32); impl Own 阅读全文
posted @ 2021-12-17 20:43 jiangbo4444 阅读(75) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/lifetime/fn.html 示例 main.rs fn print_one<'a>(x: &'a i32) { p 阅读全文
posted @ 2021-12-17 20:42 jiangbo4444 阅读(52) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/lifetime.html 示例 生存期(lifetime),也叫生命周期等,rust 使用生存期来保证所有的借用都是有 阅读全文
posted @ 2021-12-17 20:14 jiangbo4444 阅读(113) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/lifetime/explicit.html 示例 生存期的标注,使用撇号来标注。 main.rs // 标注了两个生存 阅读全文
posted @ 2021-12-17 20:14 jiangbo4444 阅读(64) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/borrow/ref.html 示例 取引用可以使用 & 和 ref 关键字,它们有各自的使用场景。 main.rs # 阅读全文
posted @ 2021-12-17 20:12 jiangbo4444 阅读(80) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/borrow/alias.html 示例 进行借用时,可以以不可变借用多次。但是在不可变借用的时候,不能进行可变借用。同 阅读全文
posted @ 2021-12-17 20:11 jiangbo4444 阅读(449) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/borrow/mut.html 示例 main.rs #[derive(Clone, Copy)] struct Boo 阅读全文
posted @ 2021-12-17 20:09 jiangbo4444 阅读(146) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/borrow.html 示例 通过引用来传递对象,在 rust 中称为借用。 main.rs fn eat_box_i3 阅读全文
posted @ 2021-12-17 20:08 jiangbo4444 阅读(101) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/move/partial_move.html 示例 main.rs fn main() { #[derive(Debug 阅读全文
posted @ 2021-12-17 20:06 jiangbo4444 阅读(113) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/move/mut.html 示例 在发生所有权转移时,数据的可变性可能发生改变。 main.rs fn main() { 阅读全文
posted @ 2021-12-17 20:05 jiangbo4444 阅读(82) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/move.html 示例 因为变量要负责释放他们的资源,所有一个资源只能有一个所有者,避免重复释放,其中引用不拥有资源。 阅读全文
posted @ 2021-12-17 20:04 jiangbo4444 阅读(199) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/raii.html 示例 在 Rust 中,会强制实行 RAII(Resource Acquisition Is Ini 阅读全文
posted @ 2021-12-17 20:02 jiangbo4444 阅读(157) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/generics/phantom.html 示例 虚类型参数不会在运行时出现,仅在编译时进行静态类型检查的类型参数。 main.rs 阅读全文
posted @ 2021-12-11 21:35 jiangbo4444 阅读(158) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/generics/phantom/testcase_units.html 示例 main.rs use std::marker::P 阅读全文
posted @ 2021-12-11 21:35 jiangbo4444 阅读(56) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/generics/assoc_items/types.html 示例 main.rs struct Container(i32, i 阅读全文
posted @ 2021-12-11 21:33 jiangbo4444 阅读(180) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/generics/new_types.html 示例 如果直接使用基础类型容易误导和出错,可以考虑定义一种新的类型,来提供编译保证。 阅读全文
posted @ 2021-12-11 21:31 jiangbo4444 阅读(131) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/generics/where.html 示例 泛型约束除了可以写在泛型定义的后面,还可以使用 where 子句来表达,这样更具表现力 阅读全文
posted @ 2021-12-11 21:29 jiangbo4444 阅读(2704) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/generics/multi_bounds.html 示例 泛型除了使用单一约束外,也可以使用多重约束,也叫多重边界,使用加号(+) 阅读全文
posted @ 2021-12-11 21:28 jiangbo4444 阅读(332) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/generics/bounds/testcase_empty.html 示例 泛型空约束,trait 实现中可以不包含任何内容,只把 阅读全文
posted @ 2021-12-11 21:27 jiangbo4444 阅读(157) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/mod/visibility.html 示例 模块嵌套 mod my_mod { pub mod nested { pub fn f 阅读全文
posted @ 2021-12-07 20:52 jiangbo4444 阅读(186) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/generics/bounds.html 示例 泛型约束,也叫有界泛型,可以限制泛型的类型。 约束类型 use std::fmt:: 阅读全文
posted @ 2021-12-07 20:46 jiangbo4444 阅读(760) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/generics/impl.html 示例 泛型的定义 #![allow(unused)] fn main() { // 一个普通的 阅读全文
posted @ 2021-12-07 20:43 jiangbo4444 阅读(151) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/generics/gen_trait.html 示例 trait 现在还没有一个统一的翻译,之后就直接称呼为 trait,不进行翻译 阅读全文
posted @ 2021-12-07 20:43 jiangbo4444 阅读(237) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/generics/gen_fn.html 示例 main.rs struct A; struct SGen<T>(T); fn ge 阅读全文
posted @ 2021-12-07 20:41 jiangbo4444 阅读(207) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/generics.html 示例 Rust 中的泛型和其它语言类似,在定义的时候不能确定具体的类型,等到具体实现时才能确定类型。泛型 阅读全文
posted @ 2021-12-07 20:40 jiangbo4444 阅读(115) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/attribute/cfg.html 示例 属性配置 #[cfg(target_os = "linux")] fn are_you_ 阅读全文
posted @ 2021-12-06 10:25 jiangbo4444 阅读(718) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/attribute/crate.html 示例 如果没有使用 cargo,可以使用 crate_type 来指定库的类型,使用 cr 阅读全文
posted @ 2021-12-06 10:24 jiangbo4444 阅读(215) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/attribute/unused.html 示例 如果在项目中有代码没有使用,编译器会发出警告,可以使用属性来关闭。更好地处理方式是 阅读全文
posted @ 2021-12-06 10:23 jiangbo4444 阅读(380) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/cargo/conventions.html 示例 默认情况下,生成的可执行文件和 cargo 中定义的一样,下面的方式可以生成多个 阅读全文
posted @ 2021-12-06 10:16 jiangbo4444 阅读(638) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/cargo/deps.html 示例 rust 的依赖管理可以使用 cargo,只需要在 Cargo.toml 中申明需要的依赖就行 阅读全文
posted @ 2021-12-06 10:13 jiangbo4444 阅读(875) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/crates/using_lib.html 示例 要链接到指定的库,可以通过 --extern 参数来指定。 rustc 链接库 f 阅读全文
posted @ 2021-12-06 10:11 jiangbo4444 阅读(481) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/crates/lib.html 示例 create 是 rust 中的一个编译单元,和其它语言的库的概念类似。模块并不会单独编译,只 阅读全文
posted @ 2021-12-06 10:10 jiangbo4444 阅读(635) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/mod/split.html 示例 将所有的代码写到同一个文件太多的时候,可以考虑分别写到不同的文件中,文件层级如下: $ tree 阅读全文
posted @ 2021-12-06 10:02 jiangbo4444 阅读(342) 评论(0) 推荐(1) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/mod/super.htmll 示例 super 和 self 关键字可以使用在导入模块的时候,就不用指定绝对路径而是使用相对路径。 阅读全文
posted @ 2021-12-04 20:03 jiangbo4444 阅读(521) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/mod/use.html 示例 use 关键字类似其它语言中的导入,可以将其它模块的函数等导入到当前环境里。 导入 fn main( 阅读全文
posted @ 2021-12-04 20:01 jiangbo4444 阅读(180) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/mod/struct_visibility.html 示例 结构体的字段默认也是私有的,可以使用 pub 来公开。在模块外部不能使用 阅读全文
posted @ 2021-12-04 20:00 jiangbo4444 阅读(316) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/mod/visibility.html 示例 默认情况下,模块中的项都是私有有的,可以通过 pub 关键字来进行公开。可以使用 mo 阅读全文
posted @ 2021-12-04 19:58 jiangbo4444 阅读(182) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/fn/diverging.html 示例 发散函数没有返回类型,使用 ! 标记,和单元类型不一样。 panic #![allow(u 阅读全文
posted @ 2021-12-03 20:41 jiangbo4444 阅读(587) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/fn/hof.html 示例 Rust 提供了高阶函数(Higher Order Function, HOF),指的是那些通过一个或 阅读全文
posted @ 2021-12-03 20:40 jiangbo4444 阅读(238) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/fn/closures/closure_examples/iter_find.html 示例 前面学习了闭包,现在看看标准库中的例子 阅读全文
posted @ 2021-12-03 20:36 jiangbo4444 阅读(556) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/fn/closures/closure_examples/iter_any.html 示例 前面学习了闭包,现在看看标准库中的例子: 阅读全文
posted @ 2021-12-03 20:35 jiangbo4444 阅读(169) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/fn/closures/input_functions.html 既然闭包可以作为函数的输入参数,那么函数是否可以做为输入参数呢?可 阅读全文
posted @ 2021-12-02 20:35 jiangbo4444 阅读(87) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/fn/closures/output_parameters.html 示例 既然可以将闭包作为函数参数,那么将其作为函数返回值也是可 阅读全文
posted @ 2021-12-02 20:35 jiangbo4444 阅读(117) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/fn/closures/anonymity.html 当闭包被定义的时候,编译器会创建一个匿名的结构体来存储捕获的变量。同时通过实现 阅读全文
posted @ 2021-12-02 20:33 jiangbo4444 阅读(135) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/fn/closures/input_parameters.html 示例 当将闭包作为参数传递时,必须指明完整的类型,通过 Fn、F 阅读全文
posted @ 2021-12-02 20:32 jiangbo4444 阅读(267) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/fn/closures/capture.html 示例 捕获引用 fn main() { let color = String::f 阅读全文
posted @ 2021-12-01 20:58 jiangbo4444 阅读(215) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/fn/closures.html 闭包,类似其它语言中的 lambda 函数。 示例 函数实现自增 fn main() { fn a 阅读全文
posted @ 2021-12-01 20:57 jiangbo4444 阅读(93) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/fn/methods.html rust 中有关联函数和方法的概念,关联函数和其它语言中的静态方法类似。而方法和其它语言中的成员方法 阅读全文
posted @ 2021-12-01 20:54 jiangbo4444 阅读(126) 评论(0) 推荐(0) 编辑
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/fn.html 示例 定义函数 使用关键字 fn 定义函数,函数定义和顺序无关。 fn main() { say() } // ma 阅读全文
posted @ 2021-12-01 20:52 jiangbo4444 阅读(148) 评论(0) 推荐(0) 编辑

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