掘友等级
获得徽章 0
公开和私有(Public and Private):Rust使用pub关键字来标记公开的项,只有公开的项才能被外部代码访问。未标记为pub的项被视为私有,只能在当前模块内部使用。
在 Rust 中,所有的切片都是动态大小类型,它们都无法直接被使用
RUST所有的切片都是动态类型,它们都无法直接被使用,而 str 就是字符串切片,[u8] 是数组切片
RUST关于特征实现与定义的位置,有一条非常重要的原则:如果你想要为类型 A 实现特征 T,那么 A 或者 T 至少有一个是在当前作用域中定义的!
在RUST动态类型语言中,有一个很重要的概念:鸭子类型(duck typing),简单来说,就是只关心值长啥样,而不关心它实际是什么。当一个东西走起来像鸭子,叫起来像鸭子,那么它就是一只鸭子,就算它实际上是一个奥特曼,也不重要,我们就当它是鸭子
RUST特征定义了一组可以被共享的行为,只要实现了特征,你就能使用这组行为
模式是 Rust 中的特殊语法,它用来匹配类型中的结构和数据,它往往和 match 表达式联用,以实现强大的模式匹配能力。模式一般由以下内容组合而成:
字面值
解构的数组、枚举、结构体或者元组
变量
通配符
占位符
RUST结构体由几部分组成:
通过关键字 struct 定义
一个清晰明确的结构体 名称
几个有名字的结构体 字段
RUST中数组语法跟 JavaScript 很像,也跟大多数编程语言很像。由于它的元素类型大小固定,且长度也是固定,因此数组 array 是存储在栈上,性能也会非常优秀。与此对应,动态数组 Vector 是存储在堆上,因此长度可以动态改变
在 Rust 中,最常用的数组有两种,第一种是速度很快但是长度固定的 array,第二种是可动态增长的但是有性能损耗的 Vector
RUST中任何类型的数据都可以放入枚举成员中: 例如字符串、数值、结构体甚至另一个枚举。
Rust 枚举类型是一个类型,它会包含所有可能的枚举成员, 而枚举值是该类型中的具体某个成员的实例
RUST结构体中具有所有权的字段转移出去后,将无法再访问该字段,但是可以正常访问其它的字段。
RUST结构体由几部分组成:
通过关键字 struct 定义
一个清晰明确的结构体 名称
几个有名字的结构体 字段
RUST借用规则总结:同一时刻,你只能拥有要么一个可变引用, 要么任意多个不可变引用
引用必须总是有效的
悬垂引用也叫做悬垂指针,意思为指针指向某个值后,这个值被释放掉了,而指针仍然存在,其指向的内存可能不存在任何值或已被其它变量重新使用
下一页