014 Rust死灵书之显式类型转换
介绍
本系列录制的视频主要放在B站上Rust死灵书学习视频
Rust 死灵书相关的源码资料在github.com/anonymousGiga/Rustonomi...
知识点
- 显式类型转换是强制类型转换的超集,所有的强制类型转换都可以通过显式转换的方式主动触发。某些场景只适用于显式类型转换。
- 显式类型转换的方式是使用关键字as,如:expr as Type。
- 显式类型转换必须在类型层面是合法的,否则在编译时会报错。
- 显式类型转换本身不属于非安全行为。
- 显式类型转换不可传递,例子:x as y as z合法,不代表x as z合法。
- 其它注意事项。
示例
fn print(x: &i32) { //传入进入的时候会发生转换 &mut i32 -> &i32
println!("x = {}", x);
}
fn main() {
let x: &mut i32 = &mut 10;
print(x);
print(x as &i32); //转换也可以通过显式的方式主动触发
let a: i8 = 1;
let b: i32 = a as i32;
println!("b = {}", b);
println!("Hello, world!");
}
本作品采用《CC 协议》,转载必须注明作者和本文链接