Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 72.6MB ·虚拟内存 1299.8MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
可以用 type 语句给已有的类型取个新的名字。类型的名字必须遵循驼峰命名法(像是 CamelCase 这样),否则编译器将给出错误。原生类型是例外,比如: usize、f32,等等。
// `NanoSecond` 是 `u64` 的新名字。 type NanoSecond = u64; type Inch = u64; // 通过这个属性屏蔽警告。 #[allow(non_camel_case_types)] type u64_t = u64; // 试一试 ^ 移除上面那个属性 fn main() { // `NanoSecond` = `Inch` = `u64_t` = `u64`. let nanoseconds: NanoSecond = 5 as u64_t; let inches: Inch = 2 as u64_t; // 注意类型别名*并不能*提供额外的类型安全,因为别名*并不是*新的类型。 println!("{} nanoseconds + {} inches = {} unit?", nanoseconds, inches, nanoseconds + inches); }
别名的主要用途是避免写出冗长的模板化代码(boilerplate code)。如 IoResult
Rust 使用 trait 解决类型之间的转换问题。最一般的转换会用到 From 和 into 两个 trait。不过,即便常见的情况也可能会用到特别的 trait,尤其是从 String 转换到别的类型,以及把别的类型 ...
全部【编程教程】内容源自网络,仅供学习用途,若有遗漏或版权任何问题,请及时【联系我们】 ,按下 Ctrl+D 或 ⌘+D 收藏本站。