0
点赞
收藏
分享

微信扫一扫

014 Rust死灵书之显式类型转换


介绍

本系列录制的视频主要放在B站上​​Rust死灵书学习视频​​

Rust 死灵书相关的源码资料在https://github.com/anonymousGiga/Rustonomicon-Source

知识点

  • 显式类型转换是强制类型转换的超集,所有的强制类型转换都可以通过显式转换的方式主动触发。某些场景只适用于显式类型转换。
  • 显式类型转换的方式是使用关键字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!");
}


举报

相关推荐

0 条评论