Rust 类型系统相关常见术语

Rust 类型系统相关常见术语及解释如下:


1. 类型注解(Type Annotation)

定义:在代码中显式写出变量、参数或返回值的类型。
示例let x: i32 = 5;


2. 类型推导(Type Inference)

定义:编译器根据上下文自动判断变量或表达式的类型,无需显式注解。
示例let x = 5;(自动推导为 i32


3. 泛型(Generic)

定义:允许类型参数化,使代码可复用于多种类型。
示例fn foo<T>(x: T) { ... }


4. 泛型约束(Generic Bound / Trait Bound)

定义:对泛型参数加上 trait 限制,要求类型实现某些 trait。
示例fn foo<T: Debug>(x: T) { ... }


5. Trait(特征)

定义:类似于接口,定义类型必须实现的方法集合。
示例trait MyTrait { fn do_something(&self); }


6. 实现(Impl)

定义:为类型或 trait 提供具体方法实现。
示例impl MyTrait for MyType { ... }


7. 生命周期(Lifetime)

定义:描述引用的作用域,保证内存安全。
示例fn foo<'a>(x: &'a str) { ... }


8. 动态分发(Dynamic Dispatch)

定义:运行时根据类型调用方法,常见于 trait 对象。
示例Box<dyn MyTrait>


9. 静态分发(Static Dispatch)

定义:编译期确定类型和方法调用,常见于泛型。
示例fn foo<T: MyTrait>(x: T) { ... }


10. 类型别名(Type Alias)

定义:为复杂类型定义简短别名。
示例type MyInt = i32;


11. Associated Type(关联类型)

定义:trait 内定义的类型占位符,由实现者指定具体类型。
示例trait Iterator { type Item; }


12. Newtype(新类型模式)

定义:用 tuple struct 包裹现有类型,创建新的类型。
示例struct MyInt(i32);


posted @ 2025-08-15 16:34  等你下课啊  阅读(7)  评论(0)    收藏  举报