类型分类标准:

  • 按检查类型的时机,在编译时检查还是运行时检查可分为静态类型系统和动态类型系统。
  • 静态类型还可以进一步分为显示静态和隐式静态。

    多态的实现:

  • 静态类型:

    • 鸭子类型
  • 动态类型:

    • 参数多态
    • 特设多态:例如加法可以是 1 + 1 也可以是 'abc' + 'bx'
    • 子类型多态:在运行时,子类型可以被当成父类型使用。

      在 rust 中多态是如何实现的:

  • 参数多态通过泛型来实现

  • 特设多态通过 trait 实现
  • 子类型多态通过 trait object 来实现。

image.png

类型安全

类型安全是指代码只能按照允许的方法,访问它被授权访问的内存。
Rust 是强类型语言,同时在检查时,Rust 使用了静态类型系统,在编译期保证了类型的正确,所以Rust 是类型安全的语言。

Rust 的数据类型

原生数据类型:
image.png
组合数据类型:
image.png