前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开箱体验Rust,Come on!!!

开箱体验Rust,Come on!!!

作者头像
前端小鑫同学
发布2022-12-26 10:29:23
4090
发布2022-12-26 10:29:23
举报
文章被收录于专栏:小鑫同学编程历险记

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的常用命令。

序号

终端命令

功能

1

cargo new

创建项目并初始化git仓库

2

cargo build

编译项目(debug),增加--release发布构建

3

cargo run

编译项目(未编译或源码有修改)& 运行项目

4

cargo check

仅检查代码,确保可通过编译,比build速度快

6

cargo publish

发布自定义库

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

编写代码前的准备:

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

使用Cargo创建新项目:

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

代码语言:javascript
复制
hello-rust
|- Cargo.toml
|- src
  |- main.rs

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

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

Rust示例程序:

  1. 学会如何导入依赖;
  2. 学会如何输出语句使用;
  3. 了解什么是可变变量;
  4. 了解什么是关联函数;
  5. 认识&取地址符;代码详解:

代码详解:

代码语言:javascript
复制
// 使用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) } 复制代码

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

总结:

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-02-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 快速配置环境(Win11,64位):
  • 认识Cargo:
  • 编写代码前的准备:
  • 使用Cargo创建新项目:
  • Rust示例程序:
    • 代码详解:
      • 终端预览:
      • 安装和使用第三方依赖:
        • 安装rand库来生成随机数:
        • 总结:
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档