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 协议》,转载必须注明作者和本文链接
令狐一冲
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
文章
255
粉丝
119
喜欢
308
收藏
128
排名:335
访问:2.8 万
私信
所有博文
社区赞助商