每天成长一点

# Rust语言基础

# 学习建议

  • 从整体出发,不要让自己陷入到细节中去;
  • 抛弃一次性学会的念头,分层次递进式学习;
  • 和已知的知识建立联系;
  • 学会阅读源码,从源码中学习(看到哪学到哪);
  • 通过主题式阅读填补知识空白;
  • 时刻把握 Rust 哲学;
  • 有意识地构建 Rust 语言的心智模型;
  • 多分享、多提问、多交流;
  • 为开源项目做贡献,锻炼自己;
  • 阅读《Rust编程之道》;

# 解决什么问题

安全、性能、开发体验与高效。

# 编译过程

Rust是编译型语言, 编译器是 Rustc。 Rustc是一个多道编译器,编译过程要经历多道工序,编译过程如下:

Rust code [分词]-> Rust parser(Tokens)[解析]-> Rust AST [降级]-> Rust HIR(高级中间语言) [降级]-> Rust MIR(中级中间语言)[优化]-> Rust LLVMIR(LLVM中间语言) [优化]-> 机器语言

# 词法结构

  • 关键字 Keywords
    • 严格关键字
    • 保留字
    • 弱关键字
  • 标识符 Identifier
    • 支持 ASCII 码字符串
    • 变量名、函数名、参数名、类型名等
  • 注释 Comment
    • //!
  • 空白 Whitespace
    • \n\ttab
  • 词条 Tokens,写宏非常有用
    • 语言项 item
    • 块 block
    • 语句 Stmt
    • 表达式 Expr
    • 模式 Pattern
    • 关键字 Keyword
    • 标识符 Ident
    • 字面量 Literal
    • 生命周期 Lifetime
    • 可见性 Vis
    • 标点符号 Punctuation
    • 分隔符 delimiter
    • 词条树 Token Tree
    • 属性 Attribute
  • 路径 Path
    • 是由名称空间限定符 ::