当前位置:   article > 正文

Rust 语言从入门到实战 唐刚--学习笔记01_rust语言从入门到实战

rust语言从入门到实战

Rust 语言从入门到实战 唐刚
基础篇 (11讲)
01|快速入门:Rust的基础语法

 Rust 宣称的安全、高性能、无畏并发这些特点,初次接触的时候都是感受不到的。

安装 Rust 编译器套件

  • MacOS 或 Linux ,执行:curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh  按提示操作
  •  Windows 系统(WSL 中/ Windows 原生平台)

             WSL 中,curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
             Windows 原生平台(32 位/64 位)。
                 安 GNU 工具链版本,不需要其他软件包。
                 安 MSVC 工具链,要先安装微软的 Visual Studio 依赖。

  • 网页端 https://play.rust-lang.org/  

编辑器 / IDE

  • 推荐 VS Code。要安装 rust-analyzer 插件,才有自动提示等功能。
  • VS Code 还能远程编辑。
  • Windows 下,代码放在 WSL Linux 里,在 Windows Host 下用 VS Code 远程编辑 WSL 中的代码,体验非常棒。
  • Rust 代码编辑器还有 VIM、NeoVIM、IDEA、Clion 等。
  • JetBrains 的 Rust 专用 IDE:RustRover。

创建一个工程

在终端输入:cargo new --bin helloworld 
显示: Created binary (application) `helloworld` package

目录组织结构:
helloworld 
        ├── Cargo.toml 
        └── src 
                └── main.rs
        第一层是一个 src 目录和一个 Cargo.toml 工程配置文件。src 放源代码。


Cargo.toml文件内容:

  1. [package]
  2. name = "helloworld"
  3. version = "0.1.0"
  4. edition = "2021"
  5. # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
  6. [dependencies]

Cargo.toml 中包含 package 等基本信息,项目名称、项目版本和采用的 Rust 版次。


Rust 3 年发行一个版次,有 2015、2018 和 2021 版次,最新是 2021 版次。

执行 rustc -V 查看 Rust 版本。
        rustc 1.69.0 (84c898d65 2023-04-16)

src 下 main.rs 里的代码:

  1. fn main() {
  2. println!("Hello, world!");
  3. }

在终端输出 "Hello, world!" 字符串。

用 cargo build 编译:

  1. $ cargo build
  2. Compiling helloworld v0.1.0 (/home/mike/works/classes/helloworld)
  3. Finished dev [unoptimized + debuginfo] target(s) in 1.57s

用 cargo run 直接运行:

  1. $ cargo run
  2. Finished dev [unoptimized + debuginfo] target(s) in 0.01s
  3. Running `target/debug/helloworld`
  4. Hello, world!

Rust 基础语法

包括基础类型、复合类型、控制流、函数与模块几个方面。

Rust 的基础类型

赋值语句
用 let 关键字定义变量及初始化。
        let a: u32 = 1;

类型在变量名的后面。
Rust 保证你定义的变量在第一次使用之前一定被初始化过

数字类型--区分位数


整数

isize 和 usize 的位数与具体 CPU 架构位数相同。CPU 64 位,是 64 位,CPU 32 位,是 32 位。
整数类型,可在写字面量的时候作为后缀,直接指定值的类型,如 let a = 10u32; 

整数字面量的辅助写法--更清晰直观

  1. 十进制字面量 98_222,使用下划线按三位数字一组隔开
  2. 十六进制字面量 0xff,使用0x开头
  3. 8进制字面量 0o77,使用0o(小写字母o)开头
  4. 二进制字面量 0b1111_0000,使用0b开头,按4位数字一组隔开
  5. 字符的字节表示 b'A',对一个ASCII字符,在其前面加b前缀,直接得到此字符的ASCII码值

浮点数
f32 和 f64, 32 位浮点数类型和 64 位浮点数类型。
跟在字面量的后面,指定浮点数值的类型,如 let a = 10.0f32; 

布尔类型


布尔类型为 bool,只两个值,true 和 false。
let a = true;
let b: bool = false;

字符


字符类型是 char,值用单引号括起来。

  1. fn main() {
  2. let c = 'z';
  3. let z: char = 'ℤ';
  4. let heart_eyed_cat = '声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
    推荐阅读
    相关标签