Dear,大家好,我是“前端小鑫同学”,长期从事前端开发,安卓开发,热衷技术,在编程路上越走越远~

     最近在看一下桌面端利用的开发,在看了一些Electron的应用后又理解到了一个更加新鲜的Tauri的框架,它在外部应用到了Rust,同时发现最近的一些培训机构也在跟风推Rust的一些引流课程,所以还是须要理解和学习一下Rust的入门常识好反对后续学习Tauri。

疾速配置环境(Win11,64位):

  1. [装置 Microsoft C++ 生成工具]():下载后双击装置即可,留神装置后须要重启电脑和装置版本倡议2019,如果电脑有装置2017的生成工具须要先卸载掉。

  2. 装置64位Rustup工具:同样是双击后开始装置,在装置完结后倡议将C:\Users\用户名\.cargo\bin配置到环境变量的Path中不便终端命令间接应用。

  3. 查看是否装置胜利,咱们通常都是应用命令能查看到版本视为装置失常,咱们这里查看cargo的版本和rustc的版本。

    1. cargo 版本检测:cargo --version
    2. rustc 版本查看:rustc --version

      意识Cargo:

      在咱们应用Rustup装置的时候默认就装置了CargoCargo是用来构建和治理依赖包的一个工具,咱们列举一下Cargo的常用命令。

序号终端命令性能
1cargo new <xxx>创立我的项目并初始化git仓库
2cargo build编译我的项目(debug),减少--release公布构建
3cargo run编译我的项目(未编译或源码有批改)& 运行我的项目
4cargo check仅查看代码,确保可通过编译,比build速度快
6cargo publish公布自定义库

咱们能够在crates.io上找到咱们须要用到的第三方库,咱们也能够将本人编写的自定义库公布到crates.io。

编写代码前的筹备:

  1. VSCode相干插件
  2. IntelliJ IDEA插件

    注:我常常应用的编辑器就是这两种了,当然还有其余的一些编辑器也有相干的插件反对,能够拜访Rust文档。

    应用Cargo创立新我的项目:

  3. 通过应用cargo new hello-rust来创立一个新的我的项目,上面是生成的目录构造;

    hello-rust|- Cargo.toml|- src  |- main.rs
  4. 运行cargo run就能够在终端看到通过了编译执行到输入咱们相熟了Hello, world!。

    注:Cargo.toml文件中记录了项目名称,版本号,Rust版本和依赖的配置,等同于NodeJs开发中的package.json,Android开发中的AndroidManifest.xml。

Rust示例程序:

  1. 学会如何导入依赖;
  2. 学会如何输入语句应用;
  3. 理解什么是可变变量;
  4. 理解什么是关联函数;
  5. 意识&取地址符;

    代码详解:

    // 应用use关键字导入规范库/其余库use std::io;fn main (){  // !代表是宏与函数不同  println!("请输出一个数字");  // 应用mut来申明可变变量,仅应用let定义的变量没方法二次赋值 // ::代表new是String的关联函数,类同Java或其余语言中的静态方法 let mut guess = String::new(); // 通过在规范库导入io模块来读取终端输出 // expect:会在程序异样时执行 // &guess:示意咱们在此应用guess的援用,它们指向内存的同一块空间 // &mut:示意此处的接管的援用也是可变的 io::stdin().read_line(&mut guess).expect("读取失败"); // 通过{}占位符来输入guess println!("输出的数字是:{}", guess);}

    终端预览:


    注:你会看到在咱们第二次执行cargo run的时候没有Compiling信息的输入,这是因为咱们再次执行的时候没有源码被批改,正当缩小编译来放慢执行。

    装置和应用第三方依赖:

  6. 依赖的查找咱们下面有交代,能够通过crates.io搜寻;
  7. 将须要装置的依赖依照依赖名 = version的格局配置到Cargo.toml文件中的[dependencies]下方;
  8. 更改配置文件后运行cargo build将执行装置,当然咱们装置了VSCode插件就主动装置实现了并会自动更新Cargo.lock文件来锁定依赖的具体版本,切勿手动批改。

    装置rand库来生成随机数:

  9. rand = "0.8.4"配置到[dependencies]后期待插件装置或手动执行cargo build
  10. 导入rand库use rand::Rng;
  11. 编写随机数生成代码:

    fn main() {    let mut rng = rand::thread_rng();    // 1~100的随机数生成    let random_num = rng.gen_range(1..101);    println!("生成随机数:{}", random_num)}

    文档中的示例(https://rust-random.github.io/book/guide-values.html):

总结:

     首次感觉Rust的语法跟其余的编程语言差异还是挺大的,不过&取地址符的应用看起来会更清晰,也有感觉啰嗦的中央,后续还筹备写一些Rust的语法的应用来整体的体验一下这款高效,高牢靠的编程语言的设计。


欢送关注我的公众号“前端小鑫同学”,原创技术文章第一工夫推送。