`
aaa110110
  • 浏览: 17212 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

rust学习

 
阅读更多

在Rust中,你并不需要自己调用像 malloc 和 free 这样的函数:编译器静态决定何时你需要分配和销毁内存,并自动调用这些函数。人非圣贤孰能无过,不过编译器永远也不会忘记
当有其它引用存在时改变值是危险的,因为我们可能使这个引用无效
我们可以使用 cargo build --release 来开启优化并编译你的项目
cargo new hello_world --bin 用了 --bin 标记,因为我们要创建一个二进制文件,而不是一个库文件
它们默认是不可变的。这时为什么我们的例子使用了 mut :它让一个绑定可变,而不是不可变
并且Rustacean们可以编写更小的由很多子包组装成的项目
这个基本观点是:方法定义在一些叫做“特性”的东西上面,而为了让方法能够工作,需要这个特性位于作用域中。
在这种具体的情况中经常被用到, guess 开始是一个 String ,不过我们想要把它转换为一个 u32 。遮盖(Shadowing)让我们重用 guess 名字,而不是强迫我们想出两个独特的像 guess_str 和 guess ,或者别的什么的
impl 块让我们在 Philosopher 上定义方法
 .to_string() 。这将创建一个我们 &str 指向的字符串的拷贝,并给我们一个新的 String
 Rust是一个“基于表达式”的语言,它意味着Rust中几乎所有的东西都是一个表达式并返回一个值,对函数也适用,最后的表达式是自动返回的

let handles: Vec<_> = philosophers.into_iter().map(|p| {
thread::spawn(move || {
p.eat();
})
}).collect();
 这个闭包需要一个额外的标记, move ,来表明这个闭包将会获取它获取的值的所有权。主要指 map 函数的


use std::sync::Mutex;
struct Table {
forks: Vec<Mutex<()>>,
}
这个 Table 有一个 Mutex 的向量,一个互斥锁是一个控制并发的方法:一次只有一个线程能访问它的内
容。这正是我们需要叉子拥有的属性。我们用了一个空元组, () ,在互斥锁的内部,因为我们实际上并不
准备使用这个值,只是要持有它。

这些代码还有另一个奇怪的事情:我们命名结果为 _left 和 _right 。为啥要用下划线?好吧,我们并不
打算在锁中“使用”这些值。我们仅仅想要获取它。为此,Rust会警告我们从未使用这些值。通过使用下划
线,我们告诉Rust这是我们意图做的

 

 

 

  • 大小: 7.5 KB
分享到:
评论

相关推荐

    Rust学习路线图-CSDN_pro 低,中,高阶路线图

    Rust学习路线图 Rust学习路线图是学习Rust语言的详细指南,包含了Rust语言的基础知识、进阶知识和高阶知识。该路线图由唐刚Rust中文社区联合发起人编写,旨在帮助开发者快速掌握Rust语言。 一、基础知识 1. 变量...

    Rust学习书籍整理2022-07-06.zip

    Code Like a Pro in Rust (MEAP V04) (Brenden Matthews) (z-lib.org).pdf Creative Projects for Rust.pdf Game Development with Rust and WebAssembly Learn How to Run Rust on the Web while Building a Game ...

    Rust学习的提纲.zip

    Rust学习的提纲.zipRust学习的提纲.zipRust学习的提纲.zipRust学习的提纲.zipRust学习的提纲.zipRust学习的提纲.zipRust学习的提纲.zipRust学习的提纲.zipRust学习的提纲.zipRust学习的提纲.zipRust学习的提纲....

    基于《Rust学习日记》公众号的Rust从入门到精通学习设计源码

    该项目汇集自《Rust学习日记》公众号,旨在帮助读者从零基础小白成长为Rust领域的专家。源码包含568个文件,涵盖168个Rust源文件、121个TOML配置文件、120个LOCK文件、17个PNG图片、16个DS_Store文件、11个...

    《Rust学习日记》Rust 学习日记(2024最新)

    此外,《Rust学习日记》还包括了对标准库的使用介绍及第三方库集成指导,为读者提供全面而实用的学习路径。每章节后附有习题练习,便于巩固所学知识并应用于项目开发中。 适用人群: 对Rust感兴趣的初学者,希望...

    Rust学习笔记_78实用知识库分享

    Rust学习笔记_78实用知识库分享 Rust学习笔记_78实用知识库分享是一份关于Rust编程语言的知识库,共78篇文章,涵盖了Rust编程的各个方面。以下是对该知识库的总结: 1. Rust基本概念:Rust学习笔记Day 1-3讲述了...

    个人Rust学习提纲.zip

    【个人Rust学习提纲】 在编程世界中,Rust是一种相对较新的系统级编程语言,以其安全性、并发性以及性能而备受关注。本学习提纲旨在帮助个人开发者系统地掌握Rust语言,从基础概念到高级特性,全方位提升对Rust的...

    Rust 学习笔记.zip

    《Rust编程语言学习详解》 Rust,一种由Mozilla研发的系统级编程语言,以其内存安全、并发性能和防止数据竞争等特性受到广大开发者喜爱。"Rust 学习笔记.zip"是一个开源项目,旨在为学习Rust的开发者提供详尽的教程...

    Rust学习资料整理(12本经典)

    系统学习: 根据自身的学习需求和水平,选择适合自己的Rust学习书籍,系统地学习和掌握其中的知识。 实践验证: 在阅读的同时,结合实际项目或编程练习,动手实践所学知识,加深理解和记忆。 通过阅读本资源提供的...

    个人Rust学习提纲.7z

    2. **README.md**:通常是一个项目或学习资源的简介,可能概述了Rust学习路径、推荐的学习资源和目标,为初学者提供了指导。 3. **rust知识1.xmind**:这是一个思维导图文件,可能详细列出了Rust的基本概念和语法,...

    rust学习之旅,学习资料以及简单的demo

    在 Rust 学习之旅中,你将探索一种新兴且强大的系统级编程语言,它以其内存安全性和高性能而闻名。Rust 由 Mozilla 研究院开发,旨在解决 C 和 C++ 中存在的并发和内存管理问题,同时提供现代编程语言的便利性。本...

    Rust学习源码.zip

    Rust学习源码.zip

    Rust学习之路_35实用知识库分享

    【Rust学习之路_35实用知识库分享】 在编程世界中,Rust是一门相对较新的系统级编程语言,以其强大的安全性和性能受到开发者们的广泛关注。这篇文章将带你踏上Rust学习之旅,通过一系列的知识点来逐步掌握这门语言...

    Rust学习思维导图.pdf

    ### Rust学习思维导图知识点详解 #### 一、基础知识 **1.1 变量与常量** - **变量绑定(let)**: Rust 使用 `let` 关键字来声明一个变量,并通过它来绑定一个值。 - 示例:`let x = 5;` - **可变变量(mut)**: ...

    rust-study0 介绍 Rust学习项目0 2021-12-14 第一个例子,猜数字: 使用rand获取一个100以内

    Rust学习项目0 2021-12-14 第一个例子,猜数字: 使用rand获取一个100以内的随机自然数; 要求用户输入猜测值; 反馈太小或太大的提示,直至用户猜到之前产生的随机数,然后退出; 若输入不符合要求,打印提示并重...

    Rust学习的网站(一)

    Rust的学习资源包括官方提供的中文教程,其内容涵盖了从基础入门到高级特性的广泛范围。中文教程目录中包含以下几个部分: 1. 介绍:涵盖了Rust语言的设计哲学和目标。 2. 准备:指导如何为你的电脑安装Rust开发...

    新手 学Rust 开发 一些简单例子

    Rust 是一种系统编程语言,以其安全性、并发性和性能而闻名。它旨在提供内存安全,同时保持与 C 和 C++ 类似的性能。以下是一些 Rust 开发的入门步骤和简单例子。 环境搭建 安装 Rust:访问 Rust 官方网站 ...

    Rust学习资源概述及应用实践

    其次,在线教育资源方面,提到了《Rust编程第一课》以及其他多个知名平台提供的丰富课程,帮助不同水平的学习者逐步掌握Rust。官方文档部分列举了官方网站提供的详实参考资料,特别是被誉为‘The Book’的官方书籍。...

    first-to-five:一个Rust学习项目

    一个Rust学习项目。 该存储库保存了无限制井字游戏的游戏源代码,其中第一个玩家到达线长为5胜的行列。 运行代码 安装推荐的VS Code扩展。 在某个src/目录下打开一个文件 按Shift + Cmd + B运行默认的构建任务,该...

    Rust参考手册 中文版(带完整目录)

    总的来说,《Rust参考手册》中文版为学习和掌握Rust编程语言提供了全面的指导,无论你是新手还是经验丰富的开发者,都能从中受益。随着Rust的不断发展和改进,这个手册将不断更新,保持与最新版本的Rust兼容,确保...

Global site tag (gtag.js) - Google Analytics