- 博客(13)
- 资源 (36)
- 论坛 (1)
- 收藏
- 关注
原创 「LeetCode笔记」Z字形变换-C++与Rust实现
题目-Z字形变换E T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:输入: s = "LEETCODEISHIRING", numRows = 3输出: "LCIRETOESIIGEDHN"示例 2:输入: s = "LEETCODEISHIRIN
2020-12-17 08:45:53
74
原创 MySQL和PGSQL的特点对比
序号 特性 MySQL PostgreSQL 1 实例 一个实例可以管理一个或多个数据库。一台服务器可以运行多个 mysqld 实例 一个实例可以管理一个或多个数据库,这些数据库组成一个集群 2 CPU限制 理论最高支持128核CPU、超过128核用不上 没有CPU核数限制、多多益善 3 数据缓冲区 通过innodb_buffer_pool_size配置参数设置数据缓冲区。这个参数是内存缓冲区的字节数,InnoDB 使用这个缓..
2020-12-15 10:51:14
250
原创 「Rust项目」Rust之前端框架总结
1、前言研究Rust很久了,开始给大家上项目,上项目之前先介绍下Rust常用的web框架及各个框架的优缺点。总之项目选型很重要。python流行常用框架有:Django(较重)、Flask(轻量级)、FastAPI(性能最好)Go语言常用框架:beego(较重)、Gin(轻量级)Rust语言框架:Rocket、Actix-web,Hyper, Yew、Warp、Gotham,Rouille,SHIO,Rustful等用的最多的主要Rocket、Actix-web2、Rocke..
2020-12-01 14:32:17
533
原创 「Rust笔记」Rust之JSON数据处理
JSON 处理JSON 是一种无处不在的开放标准格式, 它使用人类可读的文本来传输由键值对组成的数据对象.这里借助一下serde_json这个库.[dependencies]url = "2.2.0"serde = "1.0.117"serde_derive = "1.0.117"serde_json = "1.0.59"假设有如下文件:{ "name": "John Doe", "age": 43, "address": { "s..
2020-12-01 14:30:59
641
原创 「Rust笔记」Rust之Drop介绍
现在我们讨论了 trait,让我们看看一个由 Rust 标准库提供的特殊 trait,Drop。Droptrait 提供了一个当一个值离开作用域后运行一些代码的方法。例如:struct HasDrop;impl Drop for HasDrop { fn drop(&mut self) { println!("Dropping!"); }}fn main() { let x = HasDrop; // Do stuff.}...
2020-12-01 14:30:08
267
原创 「Rust笔记」Rust具有Copy特性的类型
所有权规则Rust 中的每一个值都有一个被称为其所有者(owner)的变量。 值在任一时刻有且只有一个所有者。 当所有者(变量)离开作用域,这个值将被丢弃。Copy的类型:所有整数类型,比如u32。 布尔类型,bool,它的值是true和false。 所有浮点数类型,比如f64。 字符类型,char。 元组,当且仅当其包含的类型也都是Copy的时候。比如,(i32, i32)是Copy的,但(i32, String)就不是。具有Cop...
2020-12-01 14:29:32
362
原创 「Rust笔记」Rust之引用和借用总结
1、引用(&)&符号表示引用,它们允许你使用值但不获取其所有权。错误示例在不用引用的情况,把一个变量值赋值另外一个变量,之前的变量所有权就转移到了新的变量上了,后面再使用,则会报错。 let s = String::from("hello,world"); let r1 = s; println!("{}",s); println!("{}",r1); 正确示例 let s = String::from("hello,world
2020-12-01 14:28:55
415
原创 「Rust笔记」Rust中的生命周期之协变
前言生命周期代表资源的可用时期。显式生命周期标记是泛型参数的一种,但是有协变的概念。长生命周期作为短生命周期的子类型生命周期声明一个变量,其生命周期开始,变量离开作用域,其生命周期结束。生命周期标记生命周期标记是一种泛型参数,标记的类型:复合类型(结构体) 函数 枚举类型仅当与引用(借用)相关联时。多数情况下生命周期标记可以由编译器为我们推导并标注。一些情况需要程序员显式写出生命周期标记。在函数中,需要显式写出生命周期时,一般是在需要返回参数相关的引用时。(返回堆分配内存时,直
2020-12-01 14:28:15
268
原创 「Rust笔记」Rust之自定义宏写法
宏的分类1)宏按照来源分类声明宏(Declarative Macro)和过程宏(Procedural Macro)。前者指的是用某种语法直接声明出的宏。后者是对应直接生成抽象语法树的过程的宏。2)宏按照使用方式分类属性宏:给声明添加属性的宏,例如 #[derive(Debug)] 和 #[test]。调用宏:像函数一样的宏,例如 println!。3)来源分类与使用分类直接关系明宏都是用 macro_rules! 声明出的,它声明出的一定是调用宏。过程宏可以产生属性宏,也
2020-12-01 14:26:54
469
原创 「Rust进阶笔记」Rust之derive特性总结
前言编译器可以通过#[derive]为一些trait提供基础的实现。 如果需要更复杂的逻辑,这些trait也可以被手动实现。这些可导入的实现:比较:Eq、PartialEq、Ord、PartialOrd Clone:从&T的一个拷贝创建T Copy:把一个类型的move转换为copy Hash:从&T计算它的哈希 Default:创建一个数据类型的空实例 Debug: 用{:?}格式化一个值Debug 用于程序员输出Debugtrait 用于开启格式化字符串中的.
2020-12-01 14:24:10
747
原创 「Rust笔记」rust之类型转换总结
as 运算符as适用类型:i32、i64、f32、f64、u8、u32、char等类型 let a1 = 12.123; let a2 = a1 as i32; let a3 = a1 as u16; println!("{},{},{}",a1,a2,a3); let a4 = a3 as u8 as char; println!("{}",a4其中 char只能与u8类型直接进行互转,否则会报错。2. Trait From 和 Into想把普通类型转化
2020-12-01 14:20:16
539
原创 「Rust笔记」Rust之知识点拾遗汇总
1、const 常量必须指定类型const MAX:i32 = 1000_1000;2、函数返回值 fn func_3(x: i32) -> i32 { //返回值必须声明 x + 1 //没有分号,认为是表达式,返回值,不需要return }fn func_4(x: i32) -> i32 { //返回值必须声明 x + 1; //有分号,认为是陈述,不返回值,值为()}3、break 可以返回值```cpp let mut cou
2020-12-01 14:15:11
354
原创 「Rust笔记」Rust之约束
就如泛型类型能够被约束一样,生命周期(它们本身就是泛型)也可以使用约束。: 字符 的意义在这里稍微有些不同,不过 + 是相同的。注意下面的说明:T: 'a:在 T 中的所有引用都必须比生命周期 'a 活得更长。T: Trait + 'a:T 类型必须实现 Trait trait,并且在 T 中的所有引用 都必须比 'a 活得更长。下面例子展示了上述语法的实际应用:use std::fmt::Debug; // 用于约束的 trait。#[derive(Debug)]struct Ref&l
2020-12-01 14:10:39
275
iOS开的常见8中传值(初始化传值,代理传值,属性传值,代理传值,block传值,通知传值,NSuserDefault传值,AppDelegate传值)
2016-04-24
刘玉刚的留言板
发表于 2020-01-02 最后回复 2020-03-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝