随笔分类 -  Rust

摘要:所有权规则 Rust 中的每一个值都有一个被称为其 所有者(owner)的变量。 值在任一时刻有且只有一个所有者。 当所有者(变量)离开作用域,这个值将被丢弃。 引用和Copy特性 赋值过程:包括变量赋值,函数传参,函数返回 如果类型实现了Copy特性(基本简单类型),传参过程相当于创建了一份新拷贝 阅读全文
posted @ 2022-04-13 09:50 杨琼 阅读(157) 评论(0) 推荐(2)
摘要:交换两个变量值 use std::mem; let mut x = 5; let mut y = 42; mem::swap(&mut x, &mut y); 获取变量所有权,原值置空 use std::mem; let mut v: Vec<i32> = vec![1, 2]; let old_v 阅读全文
posted @ 2022-04-12 08:35 杨琼 阅读(111) 评论(0) 推荐(0)
摘要:遍历Vec 直接遍历Vec let v = vec![1, 2, 3]; for i in &v { println!("{}", i); } let mut v = vec![1, 2, 3]; for i in &mut v { *i += 50; } 使用迭代器 let v1 = vec![1 阅读全文
posted @ 2022-04-11 08:56 杨琼 阅读(170) 评论(0) 推荐(0)
摘要:生成器类一般与原始类有相同的属性 type ms = u32; #[derive(Clone)] struct TLSCert { key: String, cert: String, } pub struct Server { host: String, port: u16, tls: Optio 阅读全文
posted @ 2022-04-09 10:03 杨琼 阅读(96) 评论(0) 推荐(0)
摘要:形参&str 使用&str作为形参,入参可以为&str,或者&String。 fn print_animal_name(name: &str) { println!("{name}"); } let oreo = "oreo".to_owned(); let jax = "jax"; print_a 阅读全文
posted @ 2022-04-09 08:54 杨琼 阅读(652) 评论(0) 推荐(0)
摘要:创建对象 rust语言中struct没O有构造器。所以一般使用关联函数new创建一个对象 pub struct User { id: u32, pub username: String, pub role: Role, } impl User { pub fn new(username: Strin 阅读全文
posted @ 2022-04-07 15:37 杨琼 阅读(117) 评论(0) 推荐(0)