环境 Time 2022-03-24 Rust 1.59.0 示例 match_indices fn main() { let name = "\nJiang\nBo\n"; name.match_indices(char::is_alphabetic) .for_each(|e| println!("{e:?}")); } rmatch_indices fn main() { let name = "
环境 Time 2022-03-24 Rust 1.59.0 示例 strip_suffix fn main() { let name = "\nJiang\nBo\n"; println!("{:?}", name.strip_suffix('\n')); } parse fn main() { let name = "44"; println!("{:?}"
环境 Time 2022-03-24 Rust 1.59.0 示例 into_boxed_bytes fn main() { let name = "JiangBo"; println!("{:?}", name.to_owned().into_boxed_str().into_boxed_bytes()); } replace fn main() { let name = "JiangBo"; printl
环境 Time 2022-03-24 Rust 1.59.0 示例 new fn main() { let map: HashMap<&str, i32> = HashMap::new(); println!("{:?}", map.capacity()); } with_capacity fn main() { let map: HashMap<&str, i32> = HashMap::with_capacity
环境 Time 2022-03-24 Rust 1.59.0 示例 new fn main() { let s = String::new(); println!("{:?}", s.capacity()); } with_capacity fn main() { let s = String::with_capacity(4); println!("{:?}", s.capacity()); } from_utf8 fn m
环境 Time 2022-03-24 Rust 1.59.0 示例 is_ok fn main() { let result: Result<i32, &str> = Ok(44); println!("{:?}", result.is_ok()); } is_err fn main() { let result: Result<i32, &str> = Ok(44); println!("{:?}
环境 Time 2022-03-25 Rust 1.59.0 示例 as_deref fn main() { let result: Result<String, u32> = Ok("ok".to_owned()); let result: Result<&str, &u32> = result.as_deref(); println!("{:?}", result); } iter fn ma
环境 Time 2022-03-25 Rust 1.59.0 示例 or fn main() { let result: Result<u32, u32> = Ok(44); println!("{:?}", result.or(Err(4))); } or_else fn main() { let result: Result<u32, u32> = Ok(44); let result: Result<u32, u
环境 Time 2022-03-22 Rust 1.59.0 示例 iter 生成一个迭代器,可变版本 iter_mut,所有权版本 into_iter。 fn main() { let vec = vec![0, 1, 2, 3, 4]; let iter = vec.iter(); println!("{:?}", iter); } next 获取下一个元素,没有返回 None。 fn main() { let
环境 Time 2022-03-16 Rust 1.59.0 概念 动态数组分配在栈上,长度可以变化。 示例 new 新建一个动态数组,如果没有增加元素,不会分配堆空间。 fn main() { let vec: Vec<i32> = Vec::new(); println!("{vec:?}"); } with_capacity 分配一个固定大小的空间。 fn main() {
环境 Time 2022-03-16 Rust 1.59.0 概念 动态数组分配在栈上,长度可以变化。 示例 reserve 保留额外空间,相当于扩容,容量可能会比扩容的大,带异常版本:try_reserve。 fn main() { let mut vec = Vec::new(); vec.push(0); vec.reserve(4); println!("{}", vec.capac
环境 Time 2022-03-16 Rust 1.59.0 概念 动态数组分配在栈上,长度可以变化。 示例 truncate 从给定的位置进行截取,后面的元素将被丢弃。 fn main() { let mut vec = vec![0, 1, 2, 3, 4]; vec.truncate(2); println!("{vec:?}"); } drain 和 truncate 类似,不过不是
环境 Time 2022-03-01 Rust 1.59.0 概念 数组切片是引用数组中连续的一部分。 示例 concat 直接将切片的每个值连接起来。 fn main() { let arr = [[0, 1], [2, 3], [4, 5]]; let concat = arr.concat(); println!("{concat:?}"); } join 用特定的值将切片的每个值
环境 Time 2022-03-07 Rust 1.59.0 概念 数组切片是引用数组中连续的一部分。 示例 contains 是否包含某个元素。 fn main() { let arr = [0, 1, 2, 3, 4]; let contains = arr.contains(&2); println!("{contains}"); } fill 用某个值或者某个方法进行填充。 fn m
环境 Time 2022-03-07 Rust 1.59.0 概念 数组切片是引用数组中连续的一部分。 示例 repeat 对元素进行重复。 fn main() { let arr = [0, 1]; let vec = arr.repeat(4); println!("{vec:?}"); //[0, 1, 0, 1, 0, 1, 0, 1] } reverse 反转。 fn main() { let mu
环境 Time 2022-03-08 Rust 1.59.0 概念 数组切片是引用数组中连续的一部分。 示例 split_first 截取第一个元素,可变版本 split_first_mut。 fn main() { let arr = [0, 1, 2, 3, 4]; if let Some((first, right)) = arr.split_first() { println!("first: {fir
let mut buf:Vec<u8>=Vec::new(); let (mut i, mut buf_size) = (0, 50); for v in (&stream).bytes() { i+=1; if i > buf_size { break; } buf.push(v.unwrap()); } // ... // 后续对stream进行的操作均无效 stream.shutdown(Shutdown::Both).expect("shutdo
一、编译时报错"failed to download from `https://crates-io.proxy.ustclug.org/api/v1/crates/quote/0.6.13/download " 在ustc源中可以查找到对应的功能包,但是就是无法下载 解决方法: 中国科大的镜像不稳定,有单个 ip 的并发限制, 官方说添加 CARGO_HTTP_MULTIPLEXING=false CARG
https://www.runoob.com/rust/rust-setup.html Rust 环境搭建 Rust 支持很多的集成开发环境(IDE)或开发专用的文本编辑器。 官方网站公布支持的工具如下(https://www.rust-lang.org/zh-CN/tools): 本教程将使用 Visual Studio Code 作为我们的开发环境(Eclipse 有专用于 Rust 开发的
搭建一个FinClip社区版docker运行环境,安装设置Rust开发编译iOS代码的环境,设置xcode的项目配合,集成FinClip SDK,准备好实现从FinClip小程序到Rust算法逻辑的端到端融合。 上文《FinClip小程序+Rust(一)》介绍了“夹心饼架构”:应用场景用小程序实现、算法逻辑用 Rust,两方面都实现
一个加密货币钱包,主要依赖加密算法构建。这部分逻辑无关iOS还是Android,特别适合用Rust去实现。我们看看如何实现一个生成一个模拟钱包,准备供小程序开发采用 前言 在之前的内容我们介绍了整个端到端开发环境的搭建。 其中,我们用 Xcode 开发一个 iOS native App 的“壳”,并集成
问题概述 值缓存是一种更加广泛的实用行为,我们可能希望在代码中的其他闭包中也使用他们。然而,目前 Cacher 的实现存在两个小问题,这使得在不同上下文中复用变得很困难。 第一个问题是 Cacher 实例假设对于 value 方法的任何 arg 参数值总是会返回相同的值。也就是说,这个
整数类型 长度 有符号类型 无符号类型 8位 i8 u8 16位 i16 u16 32位 i32 u32 64位 i64 u64 128位 i128 u128 视架构而定 isize usize 类型的定义格式为 有无符号 + 类型大小。无符号表示数字只能为正数,而有符号则表示数字即可以为正数也可以为负数。 Rust 整
非常简单的测试代码: fn main(){ let _a = true; let _b = false; let _s:u32 = 17; let _c = true; let _d = false; //println!("{:p}", &s); //println!("{:p}", &c); //println!("{:p}", &d);
Native Windows GUI guide - Getting started (gabdube.github.io) 1、创建一个项目 >cargo new gui 2、在toml添加依赖 [dependencies]native-windows-gui = "1.0.12"native-windows-derive = "1.0.3" 3、在main.rs中添加代码 /* * @Author: your name * @Date: 2022-0