GithubHelp home page GithubHelp logo

sunface / rust-course Goto Github PK

View Code? Open in Web Editor NEW
24.2K 158.0 2.1K 11.17 MB

“连续六年成为全世界最受喜爱的语言,无 GC 也无需手动内存管理、极高的性能和安全性、过程/OO/函数式编程、优秀的包管理、JS 未来基石" — 工作之余的第二语言来试试 Rust 吧。<<Rust语言圣经>>拥有全面且深入的讲解、生动贴切的示例、德芙般丝滑的内容,甚至还有JS程序员关注的 WASM 和 Deno 等专题。这可能是目前最用心的 Rust 中文学习教程 / Book

Home Page: https://course.rs

CSS 1.85% JavaScript 3.52% Rust 79.32% PowerShell 1.93% Shell 3.33% Handlebars 10.07%
rust-lang rust book chinese rust-learning rust-course course programming-courses learning learn

rust-course's Issues

关于2.4章复合类型的章节排列

2.4.复合类型章节末

接下来,我们将引入一个高级数据结构 - 结构体struct,来看看复合类型是怎样更好的解决这类问题。 开始之前,先来看看什么是元组.

下一节不是元组,而是2.4.1字符串与切片

看到这里有断片儿的感觉,是不是能重新编排下顺序?

想要解决的Rust问题

Rust有三难

  1. 部分概念难以理解
  2. 语法太多,难以学习,而且较为分散,有的时候忘记了不好查找
  3. 实际上手写代码,需要注意的点很多,缺乏一个上手和避坑指南,也缺乏一个常见问题汇总,提前学习这些可以显著的减少在实际项目中遇到问题不知道该怎么办的情况

中文 -> 英文翻译

本书的内容渐渐丰满起来,可以开始翻译成英文版了。

但是由于我这边所有时间需要投入到中文内容上,因此需要1-2个核心协作者,咱一起做这件事。

fix: 修正「数值类型」总结内容

Rust的数值上可以使用方法. 例如你可以用以下方法来将24.5取整: 13.14_f32.round(), 在这里我们使用了类型后缀,因为编译器需要知道13.14的具体类型

不是将 24.5 取整,应是将 13.14 取整。

PR: #111

内容优化建议请至 Discussions 板块讨论

大家如果对内容有建议,可以移步到Discussions板块进行讨论。

你们的建议非常宝贵,可以帮助rust-course在未来成为更好的开源 Rust 教程,感谢感谢😆。

目前还无法提供内容上的答疑解惑。。因为笔者时间实在有限,敬请谅解 :(

老鼠出洞03

看到 #253 帖子中,19日的Star数量2584颗,然而现在开只有2064颗,这500名真实的同学是太难而放弃了吗?

截屏2022-01-28 14 01 59

对你们的质疑是处于好心和实事求是的态度,请不要诬蔑这些善良的人 #242

示例代码引用关键字误写

se std::sync::mpsc::{self, Receiver, Sender};

se std::sync::mpsc::{self, Receiver, Sender};  <--------- 这个少了一个字母u
enum Fruit {
    Apple(u8),
    Orange(String)
}
fn main() {
    let (tx, rx): (Sender<Fruit>, Receiver<Fruit>) = mpsc::channel();
    tx.send(Fruit::Orange("sweet".to_string())).unwrap();
    tx.send(Fruit::Apple(2)).unwrap();
    for _ in 0..2 {
        match rx.recv().unwrap() {
            Fruit::Apple(count) => println!("received {} apples", count),
            Fruit::Orange(flavor) => println!("received {} oranges", flavor),
        }
    }
}

欢迎一切类型的 PR

非常欢迎大家为 Rust Course 提交 PR,包括但不限于:

  • 文字和内容勘误
  • 现有章节的内容增加和完善
  • 根据已有的issue,提交 PR,这些 issue 往往都有 新增内容内容优化新增章节 等标签

提交PR

你可以选择fork到本地提交,也可以在线提交:

  1. 在书籍页面右上角,点击编辑图标,进入在线编辑页面
  2. 修改并校对无误后,在当前页面下方,输入标题和描述, 并点击Propose changes提交修改 (该修改会提交到你名下自动fork的仓库中,并没有直接提交到sunface/rust-course中)
  3. 在新页面点击Create pull request创建PR
  4. 等待merge合并😋

如果是简单修改,建议在线提交,否则最好fork到本地进行修改,这样更安全。

typo

image
是零开销抽象吗?

3.1.2 NLL(Non-Lexical Lifetime)标题下

这违反了借用的规则 : 要么多个可变借用,要么一个不可变借用。

应该 改为 : 要么多个不可变借用,要么一个可变借用

建议固定一下rust playground运行的版本

比如这里的代码,因为默认用的2018版本运行,会报错:

fn main() {
    let arr = [1, 2, 3];
    let mut arr_iter = arr.into_iter();

    assert_eq!(arr_iter.next(), Some(1));
    assert_eq!(arr_iter.next(), Some(2));
    assert_eq!(arr_iter.next(), Some(3));
    assert_eq!(arr_iter.next(), None);
}

不知道用的是不是mdbook,如果是的话,最好可以固定用2021版本

进一步增加书内容的层次性

  1. 对于同一个章节内容,如果存在明显的难度阶梯,应该把该内容划分成两张:基础XXX和高级XXX,例如特征
  2. 基础和高级是放在同一个目录下,还是基础的放在一个目录下,高级的放在另一个目录下,例如基础Rust,高级Rust?
  3. 基础内容参考The Rust Book, 高级内容参考Rust in Action和 Rust for Rustaceans

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.