Rust-错误处理、泛型trait和生命周期

目录

错误处理

错误概述

Rust-错误处理、泛型trait和生命周期

应对panic

Rust-错误处理、泛型trait和生命周期Rust-错误处理、泛型trait和生命周期

使用panic!产生回溯信息

Rust-错误处理、泛型trait和生命周期

Rust-错误处理、泛型trait和生命周期

Result 枚举

Rust-错误处理、泛型trait和生命周期

处理result–match表达式

Rust-错误处理、泛型trait和生命周期

unwrap:match表达式的快捷方法,错误信息不能自定义

Rust-错误处理、泛型trait和生命周期

expect 错误信息可以自定义

let f=File::open(“hello”).expect(“无法打开”);

Result枚举与可恢复的错误

传播错误

Rust-错误处理、泛型trait和生命周期Rust-错误处理、泛型trait和生命周期

?运算符

实现与上一个代码相同的功能
如果result是ok:ok中的值就是表达式的结果,然后继续执行程序
如果Result是Err:Err就是整个函数的返回值,就像使用了return
Rust-错误处理、泛型trait和生命周期

?与from函数

Rust-错误处理、泛型trait和生命周期

?链式调用

Rust-错误处理、泛型trait和生命周期

?运算符只能用于返回类型为Result的函数

Rust-错误处理、泛型trait和生命周期

Rust-错误处理、泛型trait和生命周期

什么时候使用panic

Rust-错误处理、泛型trait和生命周期

指导性建议

Rust-错误处理、泛型trait和生命周期Rust-错误处理、泛型trait和生命周期

创建类型时验证

Rust-错误处理、泛型trait和生命周期

泛型

Rust-错误处理、泛型trait和生命周期

结构体中的泛型

Rust-错误处理、泛型trait和生命周期

enum中的泛型

Rust-错误处理、泛型trait和生命周期

方法定义中的泛型

Rust-错误处理、泛型trait和生命周期

方法中的泛型参数可以和结构体不同

Rust-错误处理、泛型trait和生命周期

trait

Rust-错误处理、泛型trait和生命周期

定义一个trait

Rust-错误处理、泛型trait和生命周期
Rust-错误处理、泛型trait和生命周期Rust-错误处理、泛型trait和生命周期Rust-错误处理、泛型trait和生命周期impl Tweet: 为类型实现方法
impl 名字 for tweet:为类型实现trait

调用trait

Rust-错误处理、泛型trait和生命周期Rust-错误处理、泛型trait和生命周期

实现trait的约束

Rust-错误处理、泛型trait和生命周期

默认实现

trait中可以调用未实现的该trait的方法

trait作为函数参数

trait impl
trait bound
Rust-错误处理、泛型trait和生命周期Rust-错误处理、泛型trait和生命周期

使用+指定多个trait

Rust-错误处理、泛型trait和生命周期

where子句简化函数声明

Rust-错误处理、泛型trait和生命周期

实现trait作为返回类型

Rust-错误处理、泛型trait和生命周期Rust-错误处理、泛型trait和生命周期

使用trait bound的例子

Rust-错误处理、泛型trait和生命周期
Rust-错误处理、泛型trait和生命周期需要copy的trait 但是之前没添加这个约束(基本类型是copy,String类型是clone)
也需要用于比较大小的约束

使用trait bound有条件的实现方法

Rust-错误处理、泛型trait和生命周期
Rust-错误处理、泛型trait和生命周期

生命周期

Rust-错误处理、泛型trait和生命周期

避免悬垂引用

Rust-错误处理、泛型trait和生命周期因为x在花括号结束时内存就释放了
Rust-错误处理、泛型trait和生命周期被借用的生命周期要更长

例子

Rust-错误处理、泛型trait和生命周期
Rust-错误处理、泛型trait和生命周期

生命周期标注语法

Rust-错误处理、泛型trait和生命周期

语法

Rust-错误处理、泛型trait和生命周期

例子

Rust-错误处理、泛型trait和生命周期

函数签名中的生命周期

Rust-错误处理、泛型trait和生命周期
Rust-错误处理、泛型trait和生命周期

深入理解生命周期

Rust-错误处理、泛型trait和生命周期Rust-错误处理、泛型trait和生命周期

struct中定义的生命周期标注

Rust-错误处理、泛型trait和生命周期

生命周期的省略

Rust-错误处理、泛型trait和生命周期Rust-错误处理、泛型trait和生命周期Rust-错误处理、泛型trait和生命周期

输入输出生命周期

Rust-错误处理、泛型trait和生命周期

生命周期省略的三个规则

Rust-错误处理、泛型trait和生命周期
Rust-错误处理、泛型trait和生命周期最后报错

方法定义中的生命周期标注

Rust-错误处理、泛型trait和生命周期Rust-错误处理、泛型trait和生命周期

静态生命周期

Rust-错误处理、泛型trait和生命周期

参考视频

上一篇:go中panic 和 error 和获取error中struct中的值


下一篇:21 _ panic函数、recover函数以及defer语句 (上)