《Rust 编程第一课》 学习笔记 Day 11

77 阅读1分钟

大家好,我是砸锅。一个摸鱼八年的后端开发。熟悉 Go、Lua。第十一天还是继续和大家一起学习 Rust😊

类型系统完全是一种工具,编译器在编译时对数据做静态检查,或者语言在运行时对数据做动态检查的时候,来保证某个操作处理的数据是开发者期望的数据类型。

在类型系统中,多态是一个非常重要的思想,它是指在使用相同的接口时,不同类型的对象,会采用不同的实现。

参数多态是指,代码操作的类型是一个满足某些约束的参数,而非具体的类型。 特设多态是指同一种行为有多个不同实现的多态。比如加法,可以 1+1,也可以是 “abc” + “cde”、matrix1 + matrix2、甚至 matrix1 + vector1。在面向对象编程语言中,特设多态一般指函数的重载。

子类型多态是指,在运行时,子类型可以被当成父类型使用。

在 Rust 中,参数多态通过泛型来支持、特设多态通过 trait 来支持、子类型多态可以用 trait object 来支持,

类型安全是指代码,只能按照被允许的方法,访问它被授权访问的内存。

在一个作用域之内,Rust 可以根据变量使用的上下文,推导出变量的类型