写点什么

开箱体验 Rust,Come on!!!

作者:小鑫同学
  • 2022-10-13
    北京
  • 本文字数:1712 字

    阅读完需:约 6 分钟

开箱体验Rust,Come on!!!

大家好,我是小鑫同学。一位从事过 Android 开发混合开发,现在长期从事前端开发的编程爱好者,我觉得在编程之路上最重要的是知识的分享,所谓三人行必有我师。所以我开始在社区持续输出我所了解到、学习到、工作中遇到的各种编程知识,欢迎有想法、有同感的伙伴加我fe-xiaoxin微信交流~


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

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

  1. 安装 Microsoft C++ 生成工具:下载后双击安装即可,注意安装后需要重启电脑和安装版本建议 2019,如果电脑有安装 2017 的生成工具需要先卸载掉。


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


  3. 检查是否安装成功,我们通常都是使用命令能检查到版本视为安装正常,我们这里检查 cargo 的版本和 rustc 的版本。

  4. cargo 版本检测:cargo --version

  5. rustc 版本检查:rustc --version


认识 Cargo:

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



我们可以在crates.io上找到我们需要用到的第三方库,我们也可以将自己编写的自定义库发布到crates.io


编写代码前的准备:

  1. VSCode相关插件

  2. IntelliJ IDEA插件

  3. 注:我经常使用的编辑器就是这两种了,当然还有其他的一些编辑器也有相关的插件支持,可以访问Rust文档

使用 Cargo 创建新项目:

  1. 通过使用cargo new hello-rust来创建一个新的项目,下面是生成的目录结构;

  2. 运行cargo run就可以在终端看到经过了编译执行到输出我们熟悉了 Hello, world!。


  3. 注: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 信息的输出,这是因为我们再次执行的时候没有源码被修改,合理减少编译来加快执行。

安装和使用第三方依赖:

  1. 依赖的查找我们上面有交代,可以通过crates.io搜索;

  2. 将需要安装的依赖按照依赖名 = version的格式配置到 Cargo.toml 文件中的[dependencies]下方;

  3. 更改配置文件后运行cargo build将执行安装,当然我们安装了 VSCode 插件就自动安装完成了并会自动更新 Cargo.lock 文件来锁定依赖的详细版本,切勿手动修改。

安装 rand 库来生成随机数:

  1. rand = "0.8.4"配置到[dependencies]后等待插件安装或手动执行cargo build

  2. 导入 rand 库use rand::Rng;

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

  4. ```


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


总结:

     初次感觉 Rust 的语法跟其他的编程语言差别还是挺大的,不过&取地址符的使用看起来会更清晰,也有感觉啰嗦的地方,后续还准备写一些 Rust 的语法的使用来整体的体验一下这款高效,高可靠的编程语言的设计。


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


发布于: 刚刚阅读数: 3
用户头像

小鑫同学

关注

⚡InfoQ签约作者 2018-12-10 加入

还未添加个人简介

评论

发布
暂无评论
开箱体验Rust,Come on!!!_前端_小鑫同学_InfoQ写作社区