摘要: 引用与借用 前一篇文章中讲到: 传递参数会发生所有权的转移 引用避免了所有权转移带来的问题 先看例子 fn main() { let string = String::from("hello"); let length = len(&string); println!("The length of 阅读全文
posted @ 2021-06-21 19:58 Delayer 阅读(223) 评论(0) 推荐(0)
摘要: 所有权 所有权是 Rust 最为与众不同的特性,它让 Rust 无需垃圾回收(garbage collector)即可保障内存安全。因此,理解 Rust 中所有权如何工作是十分重要的。 什么是所有权 Rust 的核心特性就是所有权 所有程序在运行时都必须管理程序所使用的内存 有些语言采用垃圾回器来保 阅读全文
posted @ 2021-06-21 19:09 Delayer 阅读(178) 评论(0) 推荐(0)
摘要: 控制流 if 表达式 if 表达式允许您根据所提供的条件来执行不同的代码分支 在 if 表达式中, 与条件相关的代码块就做 分支(arm) 可选: 可以在 if 表达式之后跟随 else 表达式 例子 fn main() { let num = 3; // if-else表达式 if num < 5 阅读全文
posted @ 2021-06-21 17:19 Delayer 阅读(93) 评论(0) 推荐(0)
摘要: 函数 函数的定义 在 Rust 中, 我们已经使用过 函数(function) main() 函数是程序的入口点, 它是最重要的函数之一 rust 代码中的函数名使用下 划线命名(snake case) 规范 rust 中的函数定义使用 fn 关键字, 关键字后跟随函数名, 函数名之后跟随一对小括号 阅读全文
posted @ 2021-06-21 15:18 Delayer 阅读(352) 评论(0) 推荐(0)
摘要: 数据类型 在 Rust 中, 每一个值都属于某一个 数据类型(data type) Rust 中存在两类数据类型子集: 标量(scalar) 和 复合(compound) 类型 Rust 是静态类型(statically typed) 语言, 在编译期间就需要确定变量的具体数据类型 标量类型 标量( 阅读全文
posted @ 2021-02-06 17:04 Delayer 阅读(310) 评论(0) 推荐(0)
摘要: 变量与可变性 变量的声明使用let关键字 默认情况下变量是不可以被重新赋值的 举个栗子 fn main() { let x = 5; println!("x={}", x); x = 6; // 如果我们对一个不可变得变量进行再次赋值的操作 编译器会抛出一个异常 // ^^^^^^ cannot a 阅读全文
posted @ 2021-02-01 20:10 Delayer 阅读(122) 评论(0) 推荐(0)
摘要: 使用 Rust 开发一个猜数字小游戏 这个小游戏你会认识到那些知识点? 变量如何声明 程序的流程控制 方法、关联函数 项目依赖 (crate) 猜数字游戏的设计目标 生成一个 1 - 100 的随机数 提示玩家输入一个猜测 对比猜测结果并提示玩家猜测结果 如果猜测正确 让程序输出一个庆祝信息并退出程 阅读全文
posted @ 2021-02-01 19:34 Delayer 阅读(247) 评论(0) 推荐(0)
摘要: 昨天我们安装了Rust, 今天我们来编写HelloWorld 1. Hello World 编写并运行这个简单的程序 在昨天创建的 rust 目录内创建一个projects文件夹用于存放项目文件 在projects文件夹内创建项目文件夹hello_world 在hello_world文件夹内创建文件 阅读全文
posted @ 2021-02-01 00:52 Delayer 阅读(618) 评论(0) 推荐(0)
摘要: 1. 了解 Rust (这有利于你迅速上手) Rust 核心: 虽然不是那么明显, 但 Rust 程序设计语言的本质在于赋能(empowerment) Rust 最核心的概念就是所有权系统: 不需要 GC 垃圾回收器, 不需要 VM 环境, 不需要我们亲自管理内存, 也能提供内存安全 Rust 可以 阅读全文
posted @ 2021-01-31 20:43 Delayer 阅读(733) 评论(0) 推荐(1)