首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Rust学习指南
一诺滚雪球
创建于2023-09-21
订阅专栏
记录下学习rust过程
等 40 人订阅
共69篇文章
创建于2023-09-21
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
28_HashMap更新
1. 概述 HashMap的大小是可以变化,也就是说键值对的数量可以变化,但是每个K同时只能对应一个V。
27_HashMap
1. 概述 HashMap是以键值对的形式存储数据,一个键(key)对应一个值(value),HashMap的内部实现使用了Hash函数,Hash函数决定了如何在内存中存放key和value。Hash
26_字符串表示形式和切割
1. 概述 如果按索引语法访问String的某个部分,会报错,如下示例代码 Rust的字符串不支持索引语法访问 2. String类型的内部表示 string是Vec<u8>的包装。Rust有三种看待
25_string
1. 概述 Rust开发者特别是新手经常被字符串所困扰,而困扰的原因主要有三个 Rust倾向于包括可能的错误 字符串数据结构复杂 使用UTF8编码 1.1 字符串是什么? 字符串是 Byte 的集合,
24_vector
1. 概述 Vector,叫做Vector,又一个标准库提供,可存储多个值,只能存储相同的数据类型,这些值在内存中连续存放。 使用Vec::new创建Vector,如下示例代码 也可以使用初始值创建V
23_use使用
1. 概述 可以使用use关键字将路径导入到当前作用域内,引入的内容仍然遵循私有性规则,也就是说只有公共的模块引入进来才可以使用。如下示例代码 在上面的示例代码中,虽然我们引入了hosting模块,但
22_路径
1. 概述 在rust里,如果我们想要找到某个模块,我们必须知道其路径,rust的路径有两种形式。 绝对路径:从crate root开始,使用 crate 名或字面值 crate。相对路径:从当前模块
21_package、crate、module
1. 概述 1.1 名词 package:包 crate:单元包 module:模块 1.2 代码组织 rust的代码组织主要包括以下 哪些细节可以暴露,哪些细节是私有的 作用域内哪些名称有效 这些功
20_if let
1. 概述 if let 是一个简单的控制流,它只关心一种匹配忽略其他匹配的情况。如下示例代码 在只关心一种控制流匹配值的情况下,使用 if let 代替 match 让我们编写更少的代码。也放弃了穷
19_控制流运算符-match
1. 概述 match允许一个值与一系列模式进行匹配,并执行匹配的模式对应的代码 模式可以是字面值、变量名、通配符... match表达式会一次判断模式列表,如果符合条件,将执行对应的代码。如果包含多
18_option 枚举
1. 概述 option枚举定义于标准库中 在prelude(预导入模块)中 描述了:某个值可能存在(某种类型)或不存在的情况 2. Rust没有NULL 在很多编程语言都有NULL,NULL是一个值
17_ 定义枚举
1. 枚举使用 IP地址一共有两种类型:IPv4、IPv6,所以IP地址要么是IPv4要么是IPv6,就因为这个特性,IP地址就非常适合用枚举来表示,我们把枚举所有可能的值叫做枚举的变体。 2. 枚举
16_struct的方法
1. 概述 方法和函数很类似:使用fn作为关键字,有方法名称、参数、返回值 方法和函数不同之处: 方法是在struct(或enum、trait对象)的上下文定义 方法的第一个参数总是self,表示方法
15_rust示例
1. 概述 我们先编写一个函数,用于计算长方形的的面积,如下代码 在上面代码中,我们可以看到 width 和 length 似乎没有关联,它们两看起来没有任何关系。如果我们能把长和宽组合到一起,代码将
14_struct结构体
1. struct结构体 自定义的数据类型 为相关联的值命名,打包组成有意义的组合 2. struct的使用 2.1 定义struct 使用struct关键字,并为整个struct命名 在花括号里,为
13_切片
1. 案例 Rust的另一种不持有所有权的数据类型:切片(slice) 我们先思考一个问题,编写一个函数,让它实现下列功能: 它能接收字符串作为参数 返回它在这个字符串里找到的第一个单词 如果函数没有
12_引用与借用
1. 引用与借用 我们使用引用参数来计算字符串的长度,如下代码 在以上代码中,main函数并没有转移s1参数的所有权,而是将s1参数的引用传到计算的函数,在传入参数前面使用&符号代表传递一个“引用”。
11_所有权与函数
1. 案例 在语义上,将值传递给函数和把值赋给变量是类似的:将值传递给函数将会发生移动或复制。 如下示例: 1.1 函数返回 再看以下的代码 1.2 函数返回值和作用域 让函数使用某个值,但不获得所有
10_所有权规则
1. 概述 2. 变量的作用域(scope) scope就是程序中一个项目的有效范围,如下代码 2.1 String类型 可以使用 from 函数从字符串字面值创建出 String 类型,如下例子 :
09_栈内存和堆内存
1. 概述 所有权是Rust最独特的特性,它让Rust无需GC就可以保证内存安全。 1.1 什么是所有权? Rust的核心特性就是所有权 所有程序在运行时就必须管理它们使用内存的方式:有些语言有垃圾回
下一页